assert(rvalue);
for (;;) {
- _cleanup_free_ char *w = NULL;
- _cleanup_free_ char *idna = NULL;
+ _cleanup_free_ char *w = NULL, *idna = NULL;
r = extract_first_word(&p, &w, NULL, 0);
if (r == -ENOMEM)
break;
r = dns_name_apply_idna(w, &idna);
+ if (r < 0) {
+ log_syntax(unit, LOG_ERR, filename, line, r, "Failed to apply IDNA to domain name '%s', ignoring: %m", w);
+ continue;
+ }
if (r > 0) {
r = strv_push(&n->router_search_domains, idna);
if (r >= 0)
idna = NULL;
- } else if (r == 0) {
+ } else {
r = strv_push(&n->router_search_domains, w);
if (r >= 0)
w = NULL;