X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=ares_parse_naptr_reply.c;h=4935366478fa2d922a05d3570239502ea4a5fc49;hb=d82f8426a5e255f0533f07ee458870ba124f90e7;hp=6a9d09ecb99fb5d0192318e34e2907d38b619d00;hpb=6bab0393c42857232ce1194e5283a797ec4c6231;p=platform%2Fupstream%2Fc-ares.git diff --git a/ares_parse_naptr_reply.c b/ares_parse_naptr_reply.c index 6a9d09e..4935366 100644 --- a/ares_parse_naptr_reply.c +++ b/ares_parse_naptr_reply.c @@ -17,9 +17,6 @@ #include "ares_setup.h" -#ifdef HAVE_SYS_SOCKET_H -# include -#endif #ifdef HAVE_NETINET_IN_H # include #endif @@ -38,8 +35,6 @@ # include #endif -#include -#include #include "ares.h" #include "ares_dns.h" #include "ares_data.h" @@ -110,6 +105,11 @@ ares_parse_naptr_reply (const unsigned char *abuf, int alen, rr_class = DNS_RR_CLASS (aptr); rr_len = DNS_RR_LEN (aptr); aptr += RRFIXEDSZ; + if (aptr + rr_len > abuf + alen) + { + status = ARES_EBADRESP; + break; + } /* Check if we are really looking at a NAPTR record */ if (rr_class == C_IN && rr_type == T_NAPTR)