From: Lennart Poettering Date: Tue, 8 Jun 2021 20:15:15 +0000 (+0200) Subject: journal: use free_and_strdup() where appropriate X-Git-Tag: v249-rc1~53^2~4 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=900952ecd5cf66d44d6ad6cbbae27e3966a80c94;p=thirdparty%2Fsystemd.git journal: use free_and_strdup() where appropriate --- diff --git a/src/libsystemd/sd-journal/sd-journal.c b/src/libsystemd/sd-journal/sd-journal.c index 35834d97a15..aab620c96ee 100644 --- a/src/libsystemd/sd-journal/sd-journal.c +++ b/src/libsystemd/sd-journal/sd-journal.c @@ -2867,19 +2867,17 @@ _public_ int sd_journal_get_usage(sd_journal *j, uint64_t *ret) { } _public_ int sd_journal_query_unique(sd_journal *j, const char *field) { - char *f; + int r; assert_return(j, -EINVAL); assert_return(!journal_pid_changed(j), -ECHILD); assert_return(!isempty(field), -EINVAL); assert_return(field_is_valid(field), -EINVAL); - f = strdup(field); - if (!f) - return -ENOMEM; + r = free_and_strdup(&j->unique_field, field); + if (r < 0) + return r; - free(j->unique_field); - j->unique_field = f; j->unique_file = NULL; j->unique_offset = 0; j->unique_file_lost = false;