]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Bug 2227: Sefgaults in MemBuf::reset during idnsSendQuery
authorAmos Jeffries <squid3@treenet.co.nz>
Tue, 23 Dec 2008 03:45:29 +0000 (16:45 +1300)
committerAmos Jeffries <squid3@treenet.co.nz>
Tue, 23 Dec 2008 03:45:29 +0000 (16:45 +1300)
src/dns_internal.cc

index e179173457b919aa4f54bb93f35722d896d7fa2c..3e41419b378e920b7259f370b6dd77ba07c38f2a 100644 (file)
@@ -730,7 +730,9 @@ idnsVCClosed(int fd, void *data)
 {
     nsvc * vc = (nsvc *)data;
     delete vc->queue;
+    vc->queue = NULL;
     delete vc->msg;
+    vc->msg = NULL;
     nameservers[vc->ns].vc = NULL;
     cbdataFree(vc);
 }
@@ -783,6 +785,11 @@ idnsSendQueryVC(idns_query * q, int ns)
         return;
     }
 
+    if(vc->queue == NULL) {
+        vc->queue = new MemBuf;
+        vc->queue->init();
+    }
+
     vc->queue->reset();
 
     short head = htons(q->sz);