aboutsummaryrefslogtreecommitdiffstats
path: root/common/recsel.c
diff options
context:
space:
mode:
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;