From 6bb9caa256625572eb48a728811125ad0f5c4fcc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 19 Nov 2024 16:56:17 +0100 Subject: [PATCH] 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. --- src/shared/exec-util.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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)) { -- 2.47.3