Replace strdup() with ares_strdup() (#408)

strdup() is used in src/lib/ares_parse_a_reply.c and src/lib/ares_parse_aaaa_reply.c whereas allocated memory is freed using ares_free().

Bug: 407
Fix By: Jean-pierre Cartal (@jeanpierrecartal)
pull/410/head
jeanpierrecartal 4 years ago committed by GitHub
parent c9b6c605b5
commit 11a2bf8efd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      src/lib/ares_parse_a_reply.c
  2. 4
      src/lib/ares_parse_aaaa_reply.c

@ -107,7 +107,7 @@ int ares_parse_a_reply(const unsigned char *abuf, int alen,
while (next_cname)
{
if(next_cname->alias)
aliases[alias++] = strdup(next_cname->alias);
aliases[alias++] = ares_strdup(next_cname->alias);
if(next_cname->ttl < cname_ttl)
cname_ttl = next_cname->ttl;
next_cname = next_cname->next;
@ -129,7 +129,7 @@ int ares_parse_a_reply(const unsigned char *abuf, int alen,
if (ai.cnames)
{
hostent->h_name = strdup(ai.cnames->name);
hostent->h_name = ares_strdup(ai.cnames->name);
ares_free(question_hostname);
}
else

@ -109,7 +109,7 @@ int ares_parse_aaaa_reply(const unsigned char *abuf, int alen,
while (next_cname)
{
if(next_cname->alias)
aliases[alias++] = strdup(next_cname->alias);
aliases[alias++] = ares_strdup(next_cname->alias);
if(next_cname->ttl < cname_ttl)
cname_ttl = next_cname->ttl;
next_cname = next_cname->next;
@ -131,7 +131,7 @@ int ares_parse_aaaa_reply(const unsigned char *abuf, int alen,
if (ai.cnames)
{
hostent->h_name = strdup(ai.cnames->name);
hostent->h_name = ares_strdup(ai.cnames->name);
ares_free(question_hostname);
}
else

Loading…
Cancel
Save