aboutsummaryrefslogtreecommitdiffstats
path: root/lib/crypto
diff options
context:
space:
mode:
authorHans Nilsson <[email protected]>2019-06-24 15:48:42 +0200
committerHans Nilsson <[email protected]>2019-06-26 11:55:41 +0200
commitdec33cc4bdcc71f139aca9f743967e5d70356932 (patch)
tree10592610f1e380e9b966c77ef38022b2fb2a9f6c /lib/crypto
parent67c4a6f04fd311971e16c4be0511b97cea08d8a6 (diff)
downloadotp-dec33cc4bdcc71f139aca9f743967e5d70356932.tar.gz
otp-dec33cc4bdcc71f139aca9f743967e5d70356932.tar.bz2
otp-dec33cc4bdcc71f139aca9f743967e5d70356932.zip
crypto: Fix mem leak detected by valgrind
Diffstat (limited to 'lib/crypto')
-rw-r--r--lib/crypto/c_src/api_ng.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/crypto/c_src/api_ng.c b/lib/crypto/c_src/api_ng.c
index a109f444cf..941e03cc98 100644
--- a/lib/crypto/c_src/api_ng.c
+++ b/lib/crypto/c_src/api_ng.c
@@ -334,12 +334,11 @@ ERL_NIF_TERM ng_crypto_init_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM arg
if ((ctx_res = enif_alloc_resource(evp_cipher_ctx_rtype, sizeof(struct evp_cipher_ctx))) == NULL)
return EXCP_ERROR(env, "Can't allocate resource");
- if (!get_init_args(env, ctx_res, argv[0], argv[1], argv[2], argv[argc-1],
+ if (get_init_args(env, ctx_res, argv[0], argv[1], argv[2], argv[argc-1],
&cipherp, &ret))
- /* Error msg in &ret */
- goto ret;
+ ret = enif_make_resource(env, ctx_res);
+ /* else error msg in ret */
- ret = enif_make_resource(env, ctx_res);
if(ctx_res) enif_release_resource(ctx_res);
} else if (enif_get_resource(env, argv[0], (ErlNifResourceType*)evp_cipher_ctx_rtype, (void**)&ctx_res)) {