From: George Joseph Date: Mon, 16 Nov 2015 22:10:20 +0000 (-0700) Subject: dns: Fix pointer increment in dns_parse_answer_ex X-Git-Tag: 14.0.0-beta1~577 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6919daab61142e74f8313def68310465d7be998e;p=thirdparty%2Fasterisk.git dns: Fix pointer increment in dns_parse_answer_ex When dns_parse_answer_ex was iterating over the answers it wasn't incrementing the answer pointer correctly after the first answer. The result was that no answers after the first were being returned. For results where multiple records should have been sorted by priority, weight, etc., there was nothing to sort so the only the first record was returned even if it wouldn't have been the correct record based on the sort. ASTERISK-25565 #close Reported-by: Daniel Tryba Tested-by George Joseph Change-Id: I8622604fefdcd3c11e2c5609a6382e53b1467b0b --- diff --git a/main/dns.c b/main/dns.c index c3b352d415..e338d768b8 100644 --- a/main/dns.c +++ b/main/dns.c @@ -482,7 +482,7 @@ static int dns_parse_answer_ex(void *context, int rr_class, int rr_type, unsigne /* Try and update the field to the next record, but ignore any errors that come * back because this may be the end of the line. */ - pos = dns_advance_field(&answer, pos, res + ntohs(ans->size)); + pos = dns_advance_field(&answer, pos, ntohs(ans->size)); } return ret;