From b544b24cc3b0ed833e4e8e02c7ab12e34256f7f9 Mon Sep 17 00:00:00 2001 From: Fabrice Drouin Date: Tue, 22 Jun 2021 16:16:08 +0200 Subject: [PATCH] Fix memory leak in pubkeyCreate() (#20) --- jni/c/src/fr_acinq_secp256k1_Secp256k1CFunctions.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/jni/c/src/fr_acinq_secp256k1_Secp256k1CFunctions.c b/jni/c/src/fr_acinq_secp256k1_Secp256k1CFunctions.c index 96fe4b6..8c7479d 100644 --- a/jni/c/src/fr_acinq_secp256k1_Secp256k1CFunctions.c +++ b/jni/c/src/fr_acinq_secp256k1_Secp256k1CFunctions.c @@ -133,11 +133,8 @@ JNIEXPORT jbyteArray JNICALL Java_fr_acinq_secp256k1_Secp256k1CFunctions_secp256 CHECKRESULT((*penv)->GetArrayLength(penv, jseckey) != 32, "secret key must be 32 bytes"); seckey = (*penv)->GetByteArrayElements(penv, jseckey, 0); - jpubkey = (*penv)->NewByteArray(penv, 65); - pubkey = (*penv)->GetByteArrayElements(penv, jpubkey, 0); result = secp256k1_ec_pubkey_create(ctx, &pub, (unsigned char*)seckey); (*penv)->ReleaseByteArrayElements(penv, jseckey, seckey, 0); - (*penv)->ReleaseByteArrayElements(penv, jpubkey, pubkey, 0); CHECKRESULT(!result, "secp256k1_ec_pubkey_create failed"); jpubkey = (*penv)->NewByteArray(penv, 65); pubkey = (*penv)->GetByteArrayElements(penv, jpubkey, 0);