From da39c30e0a1bbf52ba3f226d7c91384a1791e008 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Wed, 27 Aug 2014 18:10:20 +0200 Subject: [PATCH] abort the reply parsing if an error is encountered Signed-off-by: John Crispin --- dns.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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; + } -- 2.11.0