From: Jakub Hrozek Date: Tue, 14 Jun 2011 14:46:13 +0000 (+0200) Subject: Do not leak rr_name on failures inside ares_parse_aaaa_reply X-Git-Tag: upstream/1.10.0~173 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=18b6d475dc160efba24861e584dd6de92a573862;p=platform%2Fupstream%2Fc-ares.git Do not leak rr_name on failures inside ares_parse_aaaa_reply --- diff --git a/ares_parse_aaaa_reply.c b/ares_parse_aaaa_reply.c index a0f524d..1fbe838 100644 --- a/ares_parse_aaaa_reply.c +++ b/ares_parse_aaaa_reply.c @@ -132,6 +132,7 @@ int ares_parse_aaaa_reply(const unsigned char *abuf, int alen, aptr += len; if (aptr + RRFIXEDSZ > abuf + alen) { + free(rr_name); status = ARES_EBADRESP; break; } @@ -149,6 +150,7 @@ int ares_parse_aaaa_reply(const unsigned char *abuf, int alen, { if (aptr + sizeof(struct ares_in6_addr) > abuf + alen) { + free(rr_name); status = ARES_EBADRESP; break; } @@ -159,6 +161,7 @@ int ares_parse_aaaa_reply(const unsigned char *abuf, int alen, struct ares_addr6ttl * const at = &addrttls[naddrs]; if (aptr + sizeof(struct ares_in6_addr) > abuf + alen) { + free(rr_name); status = ARES_EBADRESP; break; }