From 43c3fb4680c8a2f8f417a71d7fbedde2db30f0c8 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 1 Nov 2019 11:21:05 +0100 Subject: 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.) --- src/nspawn/nspawn.c | 9 +++++++-- 1 file 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)) -- cgit v1.2.1