diff --git a/include/znc/Socket.h b/include/znc/Socket.h index 1d63bad9..26b683a5 100644 --- a/include/znc/Socket.h +++ b/include/znc/Socket.h @@ -138,6 +138,8 @@ private: friend class CTDNSMonitorFD; #ifdef HAVE_THREADED_DNS struct TDNSTask { + TDNSTask() : sHostname(""), iPort(0), sSockName(""), iTimeout(0), bSSL(false), sBindhost(""), pcSock(nullptr), bDoneTarget(false), bDoneBind(false), aiTarget(nullptr), aiBind(nullptr) {} + CString sHostname; u_short iPort; CString sSockName; @@ -153,6 +155,8 @@ private: }; class CDNSJob : public CJob { public: + CDNSJob() : sHostname(""), task(nullptr), pManager(nullptr), bBind(false), iRes(0), aiResult(nullptr) {} + CString sHostname; TDNSTask* task; CSockManager* pManager; diff --git a/src/Socket.cpp b/src/Socket.cpp index 6bcf1c1a..f3ce66b8 100644 --- a/src/Socket.cpp +++ b/src/Socket.cpp @@ -208,8 +208,6 @@ void CSockManager::StartTDNSThread(TDNSTask* task, bool bBind) { arg->sHostname = sHostname; arg->task = task; arg->bBind = bBind; - arg->iRes = 0; - arg->aiResult = nullptr; arg->pManager = this; CThreadPool::Get().addJob(arg); @@ -363,13 +361,9 @@ void CSockManager::Connect(const CString& sHostname, u_short iPort, const CStrin task->bSSL = bSSL; task->sBindhost = sBindHost; task->pcSock = pcSock; - task->aiTarget = nullptr; - task->aiBind = nullptr; - task->bDoneTarget = false; if (sBindHost.empty()) { task->bDoneBind = true; } else { - task->bDoneBind = false; StartTDNSThread(task, true); } StartTDNSThread(task, false);