From 728919fc9ab12d46bff79686d811858bf0e1f52d Mon Sep 17 00:00:00 2001 From: Erik Ekman Date: Sun, 4 Feb 2007 17:22:07 +0000 Subject: [PATCH] #5 Add checks on incoming queries --- src/dns.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/dns.c b/src/dns.c index ad2b8c5..a45a061 100644 --- a/src/dns.c +++ b/src/dns.c @@ -284,7 +284,7 @@ dns_decode(char *buf, size_t buflen, struct query *q, qr_t qr, char *packet, siz readlong(packet, &data, &ttl); readshort(packet, &data, &rlen); rv = MIN(rlen, sizeof(rdata)); - readdata(packet, &data, rdata, rv); + rv = readdata(packet, &data, rdata, rv); if(type == T_NULL && rv > 2) { rv = MIN(rv, buflen); @@ -302,6 +302,11 @@ dns_decode(char *buf, size_t buflen, struct query *q, qr_t qr, char *packet, siz readshort(packet, &data, &type); readshort(packet, &data, &class); + if(type != T_NULL) { + rv = 0; + break; + } + strncpy(q->name, name, 257); q->type = type; q->id = id;