From: Zbigniew Jędrzejewski-Szmek Date: Tue, 19 Nov 2024 15:56:17 +0000 (+0100) Subject: shared/exec-util: fix logging of the args of an executed program X-Git-Tag: v258-rc1~987^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6bb9caa256625572eb48a728811125ad0f5c4fcc;p=thirdparty%2Fsystemd.git shared/exec-util: fix logging of the args of an executed program The debug logs has lots of "About to execute /some/path (null)". This occurs when the args array is empty. Instead, only print "(null)" if we failed with oom. Having strv_skip() return NULL makes this pleasant to write without repeating strv_isempty() a few times. --- diff --git a/src/shared/exec-util.c b/src/shared/exec-util.c index bc997a9383c..01c6d74a00a 100644 --- a/src/shared/exec-util.c +++ b/src/shared/exec-util.c @@ -146,11 +146,13 @@ static int do_execute( } if (DEBUG_LOGGING) { - _cleanup_free_ char *args = NULL; - if (argv) - args = quote_command_line(strv_skip(argv, 1), SHELL_ESCAPE_EMPTY); + _cleanup_free_ char *s = NULL; - log_debug("About to execute %s%s%s", t, argv ? " " : "", argv ? strnull(args) : ""); + char **args = strv_skip(argv, 1); + if (args) + s = quote_command_line(args, SHELL_ESCAPE_EMPTY); + + log_debug("About to execute %s%s%s", t, args ? " " : "", args ? strnull(s) : ""); } if (FLAGS_SET(flags, EXEC_DIR_WARN_WORLD_WRITABLE)) {