From 54ce13d82e97218ef8c4ea6343f8867b1f637485 Mon Sep 17 00:00:00 2001 From: lanford Date: Tue, 8 Jan 2019 17:10:09 +0800 Subject: [PATCH] fix: prevent privkey modified by ec_seckey_verify method --- c_src/libsecp256k1_nif.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/c_src/libsecp256k1_nif.c b/c_src/libsecp256k1_nif.c index 3469703..5958ccb 100644 --- a/c_src/libsecp256k1_nif.c +++ b/c_src/libsecp256k1_nif.c @@ -165,16 +165,9 @@ ec_seckey_verify(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) } if (privkey.size != 32) { - return enif_make_badarg(env); - } - - secp256k1_scalar_set_b32(&key, b32, &overflow); - if (overflow || secp256k1_scalar_is_zero(&key)) { - return enif_make_int(env, 0); + return error_result(env, "Private key size != 32 bytes"); } - secp256k1_scalar_get_b32(privkey.data, &key); - result = secp256k1_ec_seckey_verify(ctx, privkey.data); return atom_from_result(env, result); }