aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dirmngr/dns.c7
1 files changed, 6 insertions, 1 deletions
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: