projects
/
platform
/
upstream
/
c-ares.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
978a929
)
Do not leak rr_name on failures inside ares_parse_aaaa_reply
author
Jakub Hrozek
<jhrozek@redhat.com>
Tue, 14 Jun 2011 14:46:13 +0000
(16:46 +0200)
committer
Jakub Hrozek
<jhrozek@redhat.com>
Tue, 14 Jun 2011 14:46:13 +0000
(16:46 +0200)
ares_parse_aaaa_reply.c
patch
|
blob
|
history
diff --git
a/ares_parse_aaaa_reply.c
b/ares_parse_aaaa_reply.c
index a0f524daa5f523e2ad4b17bc1aaa027c5990e52d..1fbe8389f74fd35f1fbf6a50d914246950bac8c7 100644
(file)
--- 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;
}