JNI: free internal Aes struct in Gmac use after done (F-1956)
parent
db2c811c67
commit
971a02bf3c
|
|
@ -226,6 +226,9 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_AesGmac_wc_1Gmac(
|
|||
authIn = getByteArray(env, authIn_object);
|
||||
authTag = getByteArray(env, authTag_object);
|
||||
|
||||
/* Initialize GMAC structure */
|
||||
XMEMSET(&gmac, 0, sizeof(Gmac));
|
||||
|
||||
if (key == NULL || iv == NULL || authIn == NULL || authTag == NULL) {
|
||||
ret = BAD_FUNC_ARG;
|
||||
}
|
||||
|
|
@ -236,9 +239,6 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_AesGmac_wc_1Gmac(
|
|||
authInSz = getByteArrayLength(env, authIn_object);
|
||||
authTagSz = getByteArrayLength(env, authTag_object);
|
||||
|
||||
/* Initialize GMAC structure */
|
||||
XMEMSET(&gmac, 0, sizeof(Gmac));
|
||||
|
||||
/* Set the key */
|
||||
ret = wc_GmacSetKey(&gmac, key, keySz);
|
||||
|
||||
|
|
@ -274,6 +274,8 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_AesGmac_wc_1Gmac(
|
|||
releaseByteArray(env, authIn_object, authIn, JNI_ABORT);
|
||||
releaseByteArray(env, authTag_object, authTag, JNI_ABORT);
|
||||
|
||||
wc_AesFree(&gmac.aes);
|
||||
|
||||
return ret;
|
||||
#else
|
||||
throwNotCompiledInException(env);
|
||||
|
|
@ -299,6 +301,9 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_AesGmac_wc_1GmacVerify(
|
|||
authIn = getByteArray(env, authIn_object);
|
||||
authTag = getByteArray(env, authTag_object);
|
||||
|
||||
/* Initialize GMAC structure */
|
||||
XMEMSET(&gmac, 0, sizeof(Gmac));
|
||||
|
||||
if (key == NULL || iv == NULL || authIn == NULL || authTag == NULL) {
|
||||
ret = BAD_FUNC_ARG;
|
||||
}
|
||||
|
|
@ -309,9 +314,6 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_AesGmac_wc_1GmacVerify(
|
|||
authInSz = getByteArrayLength(env, authIn_object);
|
||||
authTagSz = getByteArrayLength(env, authTag_object);
|
||||
|
||||
/* Initialize GMAC structure */
|
||||
XMEMSET(&gmac, 0, sizeof(Gmac));
|
||||
|
||||
/* Set the key */
|
||||
ret = wc_GmacSetKey(&gmac, key, keySz);
|
||||
|
||||
|
|
@ -347,6 +349,8 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_AesGmac_wc_1GmacVerify(
|
|||
releaseByteArray(env, authIn_object, authIn, JNI_ABORT);
|
||||
releaseByteArray(env, authTag_object, authTag, JNI_ABORT);
|
||||
|
||||
wc_AesFree(&gmac.aes);
|
||||
|
||||
return ret;
|
||||
#else
|
||||
throwNotCompiledInException(env);
|
||||
|
|
|
|||
Loading…
Reference in New Issue