summaryrefslogtreecommitdiffstats
path: root/contrib/sendmail/src/sm_resolve.c
diff options
context:
space:
mode:
authorgshapiro <gshapiro@FreeBSD.org>2007-11-05 00:04:21 +0000
committergshapiro <gshapiro@FreeBSD.org>2007-11-05 00:04:21 +0000
commitea10b54a1ae8522fb04881e6f844b437d3efc0c0 (patch)
tree43aa8985ddb5222898355e58f8fb1951e951f613 /contrib/sendmail/src/sm_resolve.c
parent39bac9265d5482fdcec195ac9f5fee0e07fcfdbe (diff)
parenta2b986fa722f9860a6c56bb5cc724b7e2937d1b7 (diff)
downloadFreeBSD-src-ea10b54a1ae8522fb04881e6f844b437d3efc0c0.zip
FreeBSD-src-ea10b54a1ae8522fb04881e6f844b437d3efc0c0.tar.gz
This commit was generated by cvs2svn to compensate for changes in r173340,
which included commits to RCS files with non-trunk default branches.
Diffstat (limited to 'contrib/sendmail/src/sm_resolve.c')
-rw-r--r--contrib/sendmail/src/sm_resolve.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/contrib/sendmail/src/sm_resolve.c b/contrib/sendmail/src/sm_resolve.c
index d2cf96d..035a9e5 100644
--- a/contrib/sendmail/src/sm_resolve.c
+++ b/contrib/sendmail/src/sm_resolve.c
@@ -46,7 +46,7 @@
# if NAMED_BIND
# include "sm_resolve.h"
-SM_RCSID("$Id: sm_resolve.c,v 8.34 2006/08/15 23:24:58 ca Exp $")
+SM_RCSID("$Id: sm_resolve.c,v 8.35 2007/06/25 16:20:14 ca Exp $")
static struct stot
{
@@ -168,6 +168,7 @@ parse_dns_reply(data, len)
int len;
{
unsigned char *p;
+ ushort ans_cnt, ui;
int status;
size_t l;
char host[MAXHOSTNAMELEN];
@@ -196,11 +197,15 @@ parse_dns_reply(data, len)
dns_free_data(r);
return NULL;
}
+
+ ans_cnt = ntohs((ushort) r->dns_r_h.ancount);
+
p += status;
GETSHORT(r->dns_r_q.dns_q_type, p);
GETSHORT(r->dns_r_q.dns_q_class, p);
rr = &r->dns_r_head;
- while (p < data + len)
+ ui = 0;
+ while (p < data + len && ui < ans_cnt)
{
int type, class, ttl, size, txtlen;
@@ -210,6 +215,7 @@ parse_dns_reply(data, len)
dns_free_data(r);
return NULL;
}
+ ++ui;
p += status;
GETSHORT(type, p);
GETSHORT(class, p);
OpenPOWER on IntegriCloud