diff --git a/src/network/networkd-radv.c b/src/network/networkd-radv.c index 8949d91e2f..fca6fa2c97 100644 --- a/src/network/networkd-radv.c +++ b/src/network/networkd-radv.c @@ -773,6 +773,12 @@ int config_parse_radv_dns( assert(lvalue); assert(rvalue); + if (isempty(rvalue)) { + n->n_router_dns = 0; + n->router_dns = mfree(n->router_dns); + return 0; + } + for (const char *p = rvalue;;) { _cleanup_free_ char *w = NULL; union in_addr_union a; @@ -834,6 +840,11 @@ int config_parse_radv_search_domains( assert(lvalue); assert(rvalue); + if (isempty(rvalue)) { + n->router_search_domains = ordered_set_free(n->router_search_domains); + return 0; + } + for (const char *p = rvalue;;) { _cleanup_free_ char *w = NULL, *idna = NULL;