diff options
Diffstat (limited to 'common/recsel.c')
-rw-r--r-- | common/recsel.c | 8 |
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; |