aboutsummaryrefslogtreecommitdiffstats
path: root/common/recsel.c
diff options
context:
space:
mode:
authorJakub Jelen <[email protected]>2021-04-13 05:54:53 +0000
committerNIIBE Yutaka <[email protected]>2021-04-13 05:57:51 +0000
commita16f726f9404f173705cc3bef71daee38d2c094b (patch)
treeb45f0906760d4ec471d121a925188fb1c50b606c /common/recsel.c
parentkbx: Fix memory leak. (diff)
downloadgnupg-a16f726f9404f173705cc3bef71daee38d2c094b.tar.gz
gnupg-a16f726f9404f173705cc3bef71daee38d2c094b.zip
common: Fix memory leaks.
* common/name-value.c (do_nvc_parse): Free NAME. * common/recsel.c (recsel_parse_expr): Release SE_HEAD and EXPR_BUFFER. -- GnuPG-bug-id: 5393 Signed-off-by: Jakub Jelen <[email protected]>
Diffstat (limited to 'common/recsel.c')
-rw-r--r--common/recsel.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/common/recsel.c b/common/recsel.c
index b2b302b75..95c104fdd 100644
--- a/common/recsel.c
+++ b/common/recsel.c
@@ -249,7 +249,13 @@ recsel_parse_expr (recsel_expr_t *selector, const char *expression)
se = xtrymalloc (sizeof *se + strlen (expr));
if (!se)
- return my_error_from_syserror ();
+ {
+ gpg_error_t err = my_error_from_syserror ();
+
+ recsel_release (se_head);
+ xfree (expr_buffer);
+ return err;
+ }
strcpy (se->name, expr);
se->next = NULL;
se->not = 0;