diff options
author | Doug Hogan <[email protected]> | 2019-01-14 21:44:49 -0800 |
---|---|---|
committer | Doug Hogan <[email protected]> | 2019-01-14 21:45:16 -0800 |
commit | 3b51e7933ba42b3299ba0678ce1b4d8a844064cd (patch) | |
tree | 73c355ace1dd1bac0a6cae54be396e9991acd7c7 /lib/crypto/c_src/chacha20.c | |
parent | c91aecddbd0b1d0aac889da5cf4f8aed8d75637c (diff) | |
download | otp-3b51e7933ba42b3299ba0678ce1b4d8a844064cd.tar.gz otp-3b51e7933ba42b3299ba0678ce1b4d8a844064cd.tar.bz2 otp-3b51e7933ba42b3299ba0678ce1b4d8a844064cd.zip |
enif_release_resource is not NULL safe
* Add if checks and update coccinelle script.
Diffstat (limited to 'lib/crypto/c_src/chacha20.c')
-rw-r--r-- | lib/crypto/c_src/chacha20.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/crypto/c_src/chacha20.c b/lib/crypto/c_src/chacha20.c index 03b8589524..51a24a43e9 100644 --- a/lib/crypto/c_src/chacha20.c +++ b/lib/crypto/c_src/chacha20.c @@ -63,7 +63,8 @@ ERL_NIF_TERM chacha20_stream_init(ErlNifEnv* env, int argc, const ERL_NIF_TERM a ret = enif_make_badarg(env); done: - enif_release_resource(ctx); + if (ctx) + enif_release_resource(ctx); return ret; #else @@ -113,7 +114,8 @@ ERL_NIF_TERM chacha20_stream_crypt(ErlNifEnv* env, int argc, const ERL_NIF_TERM ret = enif_make_badarg(env); done: - enif_release_resource(new_ctx); + if (new_ctx) + enif_release_resource(new_ctx); return ret; #else |