From a5666ba7fc0f61e8ce140a505c00abacb3a61625 Mon Sep 17 00:00:00 2001 From: Omar Mohamed Date: Sat, 21 Sep 2024 17:23:56 +0300 Subject: [PATCH 1/2] Free leaked memory Signed-off-by: Omar Mohamed --- trantor/net/inner/AresResolver.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/trantor/net/inner/AresResolver.cc b/trantor/net/inner/AresResolver.cc index 7ac0ee75..b5056e75 100644 --- a/trantor/net/inner/AresResolver.cc +++ b/trantor/net/inner/AresResolver.cc @@ -218,6 +218,7 @@ void AresResolver::onQueryResult(int status, addrItem.first = inets_ptr; addrItem.second = trantor::Date::date(); } + ares_freeaddrinfo(result); callback(*inets_ptr); } From a58d62ddcdd93292a6f77b53f40e4ef4d464f6e3 Mon Sep 17 00:00:00 2001 From: Omar Mohamed Date: Sat, 21 Sep 2024 17:57:37 +0300 Subject: [PATCH 2/2] Only free if not nullptr It's not clear weather it's allowed or not, better be safe. Signed-off-by: Omar Mohamed --- trantor/net/inner/AresResolver.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trantor/net/inner/AresResolver.cc b/trantor/net/inner/AresResolver.cc index b5056e75..d950a575 100644 --- a/trantor/net/inner/AresResolver.cc +++ b/trantor/net/inner/AresResolver.cc @@ -202,6 +202,7 @@ void AresResolver::onQueryResult(int status, // TODO: Handle unknown family? } } + ares_freeaddrinfo(result); } if (inets_ptr->empty()) { @@ -218,7 +219,6 @@ void AresResolver::onQueryResult(int status, addrItem.first = inets_ptr; addrItem.second = trantor::Date::date(); } - ares_freeaddrinfo(result); callback(*inets_ptr); }