From e50412ef194475b2c36bd91803ddede657627b2c Mon Sep 17 00:00:00 2001 From: Zbigniew Jędrzejewski-Szmek Date: Sun, 15 Jan 2017 11:55:46 -0500 Subject: journalctl: fix memleak This is harmless, it would only happen if --verify-key is used multiple times. But let's fix it for correctness. CID ##1368415. --- src/journal/journalctl.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c index 73204b3753..2a5f2b37e8 100644 --- a/src/journal/journalctl.c +++ b/src/journal/journalctl.c @@ -683,11 +683,12 @@ static int parse_argv(int argc, char *argv[]) { case ARG_VERIFY_KEY: arg_action = ACTION_VERIFY; - arg_verify_key = strdup(optarg); - if (!arg_verify_key) - return -ENOMEM; - arg_merge = false; + r = free_and_strdup(&arg_verify_key, optarg); + if (r < 0) + return r; string_erase(optarg); + + arg_merge = false; break; case ARG_INTERVAL: @@ -888,7 +889,7 @@ static int parse_argv(int argc, char *argv[]) { * to users, and automatically turn --unit= into --user-unit= if combined with --user. */ r = strv_extend_strv(&arg_user_units, arg_system_units, true); if (r < 0) - return -ENOMEM; + return r; arg_system_units = strv_free(arg_system_units); } -- cgit v1.2.3-54-g00ecf