From 26de1563d0ee1c6d1a94b99c662da7c5e103991e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 3 Dec 2025 22:58:46 +0100 Subject: [PATCH] nspawn: simplify parsing of --hostname/--machine --- src/nspawn/nspawn.c | 32 ++++++++++++-------------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c index d2adc64931..803eecb86a 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;