Release resources under failure
sign and generichash failed to release their resources under failure. This can lead to subtle memory leaks in the very unlikely event we can't initialize.
This commit is contained in:
parent
f43a730758
commit
b7533d3b9c
@ -685,6 +685,7 @@ static ERL_NIF_TERM enif_crypto_sign_init(ErlNifEnv *env, int argc,
|
||||
}
|
||||
|
||||
if (0 != crypto_sign_init(state)) {
|
||||
enif_release_resource(state);
|
||||
return nacl_error_tuple(env, "sign_init_error");
|
||||
}
|
||||
|
||||
@ -1891,6 +1892,7 @@ static ERL_NIF_TERM enif_crypto_generichash_init(ErlNifEnv *env, int argc,
|
||||
|
||||
// Call the library function
|
||||
if (0 != crypto_generichash_init(align64(state), k, key.size, hashSize)) {
|
||||
enif_release_resource(state);
|
||||
return nacl_error_tuple(env, "hash_init_error");
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user