From 36da2aef7f21bf3d0de788d846b2bb0a8738366d Mon Sep 17 00:00:00 2001 From: William Yang Date: Tue, 26 Sep 2023 13:52:13 +0200 Subject: [PATCH] fix: cacertifle leak in listener neg cases --- c_src/quicer_listener.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/c_src/quicer_listener.c b/c_src/quicer_listener.c index d8e2a386..f590f165 100644 --- a/c_src/quicer_listener.c +++ b/c_src/quicer_listener.c @@ -276,6 +276,7 @@ listen2(ErlNifEnv *env, __unused_parm__ int argc, const ERL_NIF_TERM argv[]) if (!parse_cacertfile_option(env, options, &cacertfile)) { // TLS opt error not file content error + free(cacertfile); return ERROR_TUPLE_2(ATOM_CACERTFILE); } @@ -284,6 +285,7 @@ listen2(ErlNifEnv *env, __unused_parm__ int argc, const ERL_NIF_TERM argv[]) if (!l_ctx) { + free(cacertfile); return ERROR_TUPLE_2(ATOM_ERROR_NOT_ENOUGH_MEMORY); } @@ -410,6 +412,7 @@ listen2(ErlNifEnv *env, __unused_parm__ int argc, const ERL_NIF_TERM argv[]) return OK_TUPLE_2(listenHandle); exit: // errors.. + free(cacertfile); free_certificate(&CredConfig); destroy_l_ctx(l_ctx); return ret;