]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Bug 3996: Malformed DNS reply leads to crash
authorSusant Sahani <ssahani@redhat.com>
Thu, 9 Jan 2014 20:27:49 +0000 (12:27 -0800)
committerAmos Jeffries <squid3@treenet.co.nz>
Thu, 9 Jan 2014 20:27:49 +0000 (12:27 -0800)
src/dns_internal.cc

index fd3c43facde8f4bd717571ac1ad6298c23adce2d..a8f6837e07df3a0c62f412e5d39312753a175f3e 100644 (file)
@@ -1500,6 +1500,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));