aboutsummaryrefslogtreecommitdiffstats
path: root/dirmngr/dns-stuff.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--dirmngr/dns-stuff.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/dirmngr/dns-stuff.c b/dirmngr/dns-stuff.c
index b3ad9bcd1..1bf6cfcd9 100644
--- a/dirmngr/dns-stuff.c
+++ b/dirmngr/dns-stuff.c
@@ -1086,10 +1086,9 @@ getsrv (const char *name,struct srventry **list)
return -1;
r = res_query (name, C_IN, T_SRV, answer, sizeof answer);
- if (header->rcode != NOERROR || !(count=ntohs (header->ancount)))
+ if (r < sizeof (HEADER) || r > sizeof answer
+ || header->rcode != NOERROR || !(count=ntohs (header->ancount)))
return 0; /* Error or no record found. */
- if (r < sizeof (HEADER) || r > sizeof answer)
- return -1;
emsg = &answer[r];
pt = &answer[sizeof(HEADER)];