diff options
author | Guillem Jover <guillem@hadrons.org> | 2020-08-16 21:58:04 +0200 |
---|---|---|
committer | Guillem Jover <guillem@hadrons.org> | 2020-12-21 17:44:26 +0100 |
commit | cfeafeabad1d415e55afb0bdc0c7b2244b4bac10 (patch) | |
tree | 616e4c1b6029e9a5fe670372bf9bc5c3f5907de9 | |
parent | 3d6b6ead64d0c822790fb017c1ad97676af5c3b9 (diff) |
funopen: Fix memory leak in funopen_close() when closefn is NULL
We need to free the cookiewrap even when the closefn method is NULL.
Warned-by: gcc ASAN
-rw-r--r-- | src/funopen.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/funopen.c b/src/funopen.c index 1e05c7e..1d908bc 100644 --- a/src/funopen.c +++ b/src/funopen.c @@ -87,10 +87,10 @@ funopen_close(void *cookie) struct funopen_cookie *cookiewrap = cookie; int rc; - if (cookiewrap->closefn == NULL) - return 0; - - rc = cookiewrap->closefn(cookiewrap->orig_cookie); + if (cookiewrap->closefn) + rc = cookiewrap->closefn(cookiewrap->orig_cookie); + else + rc = 0; free(cookiewrap); |