From efd5b1d443fee81a48939e3f86e7feb338f26211 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Thu, 12 Dec 2019 19:01:21 +0900 Subject: [PATCH] network-generator: allow empty hostname Fixes #14319. (cherry picked from commit 21a925a4ac7955e7d7e6cfd477e96d3a2aaee7db) --- src/network/generator/network-generator.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c index 81afa95307..bed1e42697 100644 --- a/src/network/generator/network-generator.c +++ b/src/network/generator/network-generator.c @@ -574,7 +574,7 @@ static int parse_netmask_or_prefixlen(int family, const char **value, unsigned c static int parse_cmdline_ip_address(Context *context, int family, const char *value) { union in_addr_union addr = {}, peer = {}, gateway = {}; - const char *hostname, *ifname, *dhcp_type, *dns, *p; + const char *hostname = NULL, *ifname, *dhcp_type, *dns, *p; unsigned char prefixlen; int r; @@ -599,9 +599,11 @@ static int parse_cmdline_ip_address(Context *context, int family, const char *va if (!p) return -EINVAL; - hostname = strndupa(value, p - value); - if (!hostname_is_valid(hostname, false)) - return -EINVAL; + if (p != value) { + hostname = strndupa(value, p - value); + if (!hostname_is_valid(hostname, false)) + return -EINVAL; + } value = p + 1; -- 2.25.1