From: Yu Watanabe Date: Thu, 23 Mar 2023 02:59:44 +0000 (+0900) Subject: process-util: drop trailing NUls before parsing the nulstr X-Git-Tag: v254-rc1~938^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F26958%2Fhead;p=thirdparty%2Fsystemd.git process-util: drop trailing NUls before parsing the nulstr No functional changes, just refactoring. --- 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;