diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2023-03-23 11:59:44 +0900 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2023-03-24 15:21:59 +0900 |
commit | 4669be626d3e0098323741e70cc3a3cdf5ff22ed (patch) | |
tree | 3f77a6a78a387be9685ef614c357b2fb69bd3287 /src/basic/process-util.c | |
parent | 55479c208d753929445da6121cfa9beab3ae4b15 (diff) | |
download | systemd-4669be626d3e0098323741e70cc3a3cdf5ff22ed.tar.gz |
process-util: drop trailing NUls before parsing the nulstr
No functional changes, just refactoring.
Diffstat (limited to 'src/basic/process-util.c')
-rw-r--r-- | src/basic/process-util.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/src/basic/process-util.c b/src/basic/process-util.c index 2fc2f92450..cf2dca1dc4 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; |