From dd5567a90c47e52b19bacae5eddce88b5c3d4cd6 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Wed, 6 Jul 2016 20:52:43 +0200 Subject: IPLookup: Fixed a soft memory leak when looking up invalid IPs. --- src/OSSupport/IPLookup.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/OSSupport/IPLookup.cpp b/src/OSSupport/IPLookup.cpp index 8cdc5132d..2722d4722 100644 --- a/src/OSSupport/IPLookup.cpp +++ b/src/OSSupport/IPLookup.cpp @@ -103,7 +103,13 @@ bool cNetwork::IPToHostName( { auto res = std::make_shared(a_Callbacks); cNetworkSingleton::Get().AddIPLookup(res); - return res->Lookup(a_IP); + if (!res->Lookup(a_IP)) + { + // Lookup failed early on, remove the object completely: + cNetworkSingleton::Get().RemoveIPLookup(res.get()); + return false; + } + return true; } -- cgit v1.2.3