From: John Crispin Date: Wed, 27 Aug 2014 16:10:20 +0000 (+0200) Subject: abort the reply parsing if an error is encountered X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fmdnsd.git;a=commitdiff_plain;h=da39c30e0a1bbf52ba3f226d7c91384a1791e008 abort the reply parsing if an error is encountered Signed-off-by: John Crispin --- diff --git a/dns.c b/dns.c index ebef9ce..585b40f 100644 --- a/dns.c +++ b/dns.c @@ -380,11 +380,15 @@ dns_handle_packet(struct interface *iface, uint8_t *buffer, int len) return; while (h->answers-- > 0) - parse_answer(iface, buffer, len, &b, &rlen, 1); + if (parse_answer(iface, buffer, len, &b, &rlen, 1)) + return; while (h->authority-- > 0) - parse_answer(iface, buffer, len, &b, &rlen, 0); + if (parse_answer(iface, buffer, len, &b, &rlen, 1)) + return; while (h->additional-- > 0) - parse_answer(iface, buffer, len, &b, &rlen, 1); + if (parse_answer(iface, buffer, len, &b, &rlen, 1)) + return; + }