diff --git a/dirmngr/dns.c b/dirmngr/dns.c index 3ac6a2d02..0296d6296 100644 --- a/dirmngr/dns.c +++ b/dirmngr/dns.c @@ -5657,7 +5657,12 @@ skip: memset(resconf->search, '\0', sizeof resconf->search); for (i = 1, j = 0; i < wc && j < lengthof(resconf->search); i++, j++) - dns_d_anchor(resconf->search[j], sizeof resconf->search[j], words[i], strlen(words[i])); + if (words[i][0] == '.') { + /* Ignore invalid search spec. */ + j--; + } else { + dns_d_anchor(resconf->search[j], sizeof resconf->search[j], words[i], strlen(words[i])); + } break; case DNS_RESCONF_LOOKUP: