From 4669be626d3e0098323741e70cc3a3cdf5ff22ed Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Thu, 23 Mar 2023 11:59:44 +0900 Subject: [PATCH] process-util: drop trailing NUls before parsing the nulstr No functional changes, just refactoring. --- src/basic/process-util.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/basic/process-util.c b/src/basic/process-util.c index 2fc2f924509..cf2dca1dc48 100644 --- a/src/basic/process-util.c +++ b/src/basic/process-util.c @@ -222,18 +222,12 @@ int get_process_cmdline(pid_t pid, size_t max_columns, ProcessCmdlineFlags flags _cleanup_strv_free_ char **args = NULL; - args = strv_parse_nulstr(t, k); + /* Drop trailing NULs, otherwise strv_parse_nulstr() adds additional empty strings at the end. + * See also issue #21186. */ + args = strv_parse_nulstr_full(t, k, /* drop_trailing_nuls = */ true); if (!args) return -ENOMEM; - /* Drop trailing empty strings. See issue #21186. */ - STRV_FOREACH_BACKWARDS(p, args) { - if (!isempty(*p)) - break; - - *p = mfree(*p); - } - ans = quote_command_line(args, shflags); if (!ans) return -ENOMEM; -- 2.47.3