diff options
author | Lennart Poettering <lennart@poettering.net> | 2019-11-01 11:21:05 +0100 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2019-11-03 21:32:56 +0900 |
commit | 43c3fb4680c8a2f8f417a71d7fbedde2db30f0c8 (patch) | |
tree | f6f977ee869d9f15dea4f124c838b73a9a6cdb49 | |
parent | df957acc6603a04e62dee7e911c65dc7dbcb6208 (diff) | |
download | systemd-43c3fb4680c8a2f8f417a71d7fbedde2db30f0c8.tar.gz |
nspawn: mangle slice name
It's user-facing, parsed from the command line and we typically mangle
in these cases, let's do so here too. (In particular as the identical
switch for systemd-run already does it.)
-rw-r--r-- | src/nspawn/nspawn.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c index c9ff00544c..070a10fbeb 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c @@ -103,6 +103,7 @@ #include "terminal-util.h" #include "tmpfile-util.h" #include "umask-util.h" +#include "unit-name.h" #include "user-util.h" #include "util.h" @@ -891,13 +892,17 @@ static int parse_argv(int argc, char *argv[]) { arg_settings_mask |= SETTING_MACHINE_ID; break; - case 'S': - r = free_and_strdup(&arg_slice, optarg); + case 'S': { + _cleanup_free_ char *mangled = NULL; + + r = unit_name_mangle_with_suffix(optarg, NULL, UNIT_NAME_MANGLE_WARN, ".slice", &mangled); if (r < 0) return log_oom(); + free_and_replace(arg_slice, mangled); arg_settings_mask |= SETTING_SLICE; break; + } case 'M': if (isempty(optarg)) |