aboutsummaryrefslogtreecommitdiffstats
path: root/lib/crypto/c_src/chacha20.c
diff options
context:
space:
mode:
authorDoug Hogan <[email protected]>2019-01-14 21:44:49 -0800
committerDoug Hogan <[email protected]>2019-01-14 21:45:16 -0800
commit3b51e7933ba42b3299ba0678ce1b4d8a844064cd (patch)
tree73c355ace1dd1bac0a6cae54be396e9991acd7c7 /lib/crypto/c_src/chacha20.c
parentc91aecddbd0b1d0aac889da5cf4f8aed8d75637c (diff)
downloadotp-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.c6
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