summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillem Jover <guillem@hadrons.org>2020-08-16 21:58:04 +0200
committerGuillem Jover <guillem@hadrons.org>2020-12-21 17:44:26 +0100
commitcfeafeabad1d415e55afb0bdc0c7b2244b4bac10 (patch)
tree616e4c1b6029e9a5fe670372bf9bc5c3f5907de9
parent3d6b6ead64d0c822790fb017c1ad97676af5c3b9 (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.c8
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);