From 89500c9176934b1d5451039dc04b0a032a8b718a Mon Sep 17 00:00:00 2001 From: Jon Siwek Date: Thu, 8 Nov 2012 12:00:22 -0600 Subject: [PATCH] Fix lookup_hostname BIF (and memory leak in it). The problem was caused by uninitialized is_text member in AsyncRequest. --- src/DNS_Mgr.cc | 1 - src/DNS_Mgr.h | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/DNS_Mgr.cc b/src/DNS_Mgr.cc index d4fa5cf31f..4596a7d73a 100644 --- a/src/DNS_Mgr.cc +++ b/src/DNS_Mgr.cc @@ -1012,7 +1012,6 @@ void DNS_Mgr::AsyncLookupAddr(const IPAddr& host, LookupCallback* callback) // A new one. req = new AsyncRequest; req->host = host; - req->is_txt = false; asyncs_queued.push_back(req); asyncs_addrs.insert(AsyncRequestAddrMap::value_type(host, req)); } diff --git a/src/DNS_Mgr.h b/src/DNS_Mgr.h index e24cdbb1d6..bfcc70a5c2 100644 --- a/src/DNS_Mgr.h +++ b/src/DNS_Mgr.h @@ -174,6 +174,8 @@ protected: bool is_txt; CallbackList callbacks; + AsyncRequest() : time(0.0), is_txt(false) { } + bool IsAddrReq() const { return name.length() == 0; } void Resolved(const char* name)