From 900952ecd5cf66d44d6ad6cbbae27e3966a80c94 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 8 Jun 2021 22:15:15 +0200 Subject: [PATCH] journal: use free_and_strdup() where appropriate --- src/libsystemd/sd-journal/sd-journal.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) 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; -- 2.47.3