]> granicus.if.org Git - pdns/commitdiff
Close d_sock when DNSProxy goes away
authorAki Tuomi <cmouse@desteem.org>
Tue, 29 Sep 2015 17:31:47 +0000 (20:31 +0300)
committerAki Tuomi <cmouse@desteem.org>
Sat, 3 Oct 2015 21:52:44 +0000 (00:52 +0300)
fix cid#1029928

pdns/dnsproxy.cc
pdns/dnsproxy.hh

index d889e98891b18ecb592734f041154685a94f33a5..4d8858d441a3ad2e2a819f9047d76ec8c76d9127 100644 (file)
@@ -301,3 +301,8 @@ void DNSProxy::mainloop(void)
   L<<Logger::Error<<"Exiting because DNS proxy failed"<<endl;
   exit(1);
 }
+
+DNSProxy::~DNSProxy() {
+  if (d_sock>-1) closesocket(d_sock);
+  d_sock=-1;
+}
index c48dec7128b238d35d388093ea1608611bc9c916..b842c5dce4f190e84547aa5e0fae22e5934aaed4 100644 (file)
@@ -52,6 +52,7 @@ class DNSProxy
 {
 public:
   DNSProxy(const string &ip); //!< creates socket
+  ~DNSProxy(); //<! dtor for DNSProxy
   void go(); //!< launches the actual thread
   void onlyFrom(const string &ips); //!< Only these netmasks are allowed to recurse via us
   bool sendPacket(DNSPacket *p);    //!< send out a packet and make a conntrack entry to we can send back the answer