From: Zbigniew Jędrzejewski-Szmek Date: Wed, 3 Dec 2025 21:58:46 +0000 (+0100) Subject: nspawn: simplify parsing of --hostname/--machine X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=26de1563d0ee1c6d1a94b99c662da7c5e103991e;p=thirdparty%2Fsystemd.git nspawn: simplify parsing of --hostname/--machine --- diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c index d2adc649318..803eecb86a6 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c @@ -942,31 +942,23 @@ static int parse_argv(int argc, char *argv[]) { } case 'M': - if (isempty(optarg)) - arg_machine = mfree(arg_machine); - else { - if (!hostname_is_valid(optarg, 0)) - return log_error_errno(SYNTHETIC_ERRNO(EINVAL), - "Invalid machine name: %s", optarg); + if (!isempty(optarg) && !hostname_is_valid(optarg, /* flags= */ 0)) + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Invalid machine name: %s", optarg); - r = free_and_strdup(&arg_machine, optarg); - if (r < 0) - return log_oom(); - } + r = free_and_strdup_warn(&arg_machine, optarg); + if (r < 0) + return r; break; case ARG_HOSTNAME: - if (isempty(optarg)) - arg_hostname = mfree(arg_hostname); - else { - if (!hostname_is_valid(optarg, 0)) - return log_error_errno(SYNTHETIC_ERRNO(EINVAL), - "Invalid hostname: %s", optarg); + if (!isempty(optarg) && !hostname_is_valid(optarg, /* flags= */ 0)) + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Invalid hostname: %s", optarg); - r = free_and_strdup(&arg_hostname, optarg); - if (r < 0) - return log_oom(); - } + r = free_and_strdup_warn(&arg_hostname, optarg); + if (r < 0) + return r; arg_settings_mask |= SETTING_HOSTNAME; break;