1
0
mirror of https://github.com/systemd/systemd.git synced 2025-01-03 05:18:09 +03:00

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.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2024-11-19 16:56:17 +01:00 committed by Luca Boccassi
parent 6652560f18
commit 4cd85fd4fc

View File

@ -152,11 +152,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)) {