From 11a2bf8efd88d961f3b2c5dea04b09b4af247bce Mon Sep 17 00:00:00 2001 From: jeanpierrecartal Date: Wed, 30 Jun 2021 18:25:29 +0200 Subject: [PATCH] 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) --- src/lib/ares_parse_a_reply.c | 4 ++-- src/lib/ares_parse_aaaa_reply.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/ares_parse_a_reply.c b/src/lib/ares_parse_a_reply.c index 060418b3..b08ac876 100644 --- a/src/lib/ares_parse_a_reply.c +++ b/src/lib/ares_parse_a_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 diff --git a/src/lib/ares_parse_aaaa_reply.c b/src/lib/ares_parse_aaaa_reply.c index 0c85e43b..6f4744a8 100644 --- a/src/lib/ares_parse_aaaa_reply.c +++ b/src/lib/ares_parse_aaaa_reply.c @@ -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