diff options
author | Martin Pitt <martin.pitt@ubuntu.com> | 2016-10-17 07:12:20 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-17 07:12:20 +0200 |
commit | a7753693547233e4a1d6e10b1a8f6515a477f227 (patch) | |
tree | 3b20f53b931e953f4ed495bb10e90597f3670237 /src/journal/sd-journal.c | |
parent | 9e7727521ff2e751ee064716ab735016abf72025 (diff) | |
parent | 3b319885c4febb5f7ea9b5ab31c3395548ed6886 (diff) |
Merge pull request #4391 from keszybz/treewide-macros
Use mfree more and add another function to simplify a common set&free pattern
Diffstat (limited to 'src/journal/sd-journal.c')
-rw-r--r-- | src/journal/sd-journal.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/journal/sd-journal.c b/src/journal/sd-journal.c index 98c8a47afe..f2f8546086 100644 --- a/src/journal/sd-journal.c +++ b/src/journal/sd-journal.c @@ -387,7 +387,7 @@ _public_ int sd_journal_add_disjunction(sd_journal *j) { } static char *match_make_string(Match *m) { - char *p, *r; + char *p = NULL, *r; Match *i; bool enclose = false; @@ -397,15 +397,12 @@ static char *match_make_string(Match *m) { if (m->type == MATCH_DISCRETE) return strndup(m->data, m->size); - p = NULL; LIST_FOREACH(matches, i, m->matches) { char *t, *k; t = match_make_string(i); - if (!t) { - free(p); - return NULL; - } + if (!t) + return mfree(p); if (p) { k = strjoin(p, m->type == MATCH_OR_TERM ? " OR " : " AND ", t, NULL); |