]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Bug 3996: Malformed DNS reply leads to crash
authorSusant Sahani <ssahani@redhat.com>
Sun, 12 Jan 2014 02:09:32 +0000 (19:09 -0700)
committerAmos Jeffries <squid3@treenet.co.nz>
Sun, 12 Jan 2014 02:09:32 +0000 (19:09 -0700)
src/dns_internal.cc

index 0cc3d616267238a1514c47210961b0203c3a9048..dea61136203c41c0bbceec18b5df7e3c90639049 100644 (file)
@@ -1504,6 +1504,12 @@ idnsReadVCHeader(const Comm::ConnectionPointer &conn, char *buf, size_t len, com
 
     vc->msglen = ntohs(vc->msglen);
 
+    if (!vc->msglen) {
+        if (Comm::IsConnOpen(conn))
+            conn->close();
+        return;
+    }
+
     vc->msg->init(vc->msglen, vc->msglen);
     AsyncCall::Pointer call = commCbCall(5,4, "idnsReadVC",
                                          CommIoCbPtrFun(idnsReadVC, vc));