From: Susant Sahani Date: Sun, 12 Jan 2014 02:09:32 +0000 (-0700) Subject: Bug 3996: Malformed DNS reply leads to crash X-Git-Tag: SQUID_3_4_3~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=09831610517176b6c21e602d526ab6d0b6d38395;p=thirdparty%2Fsquid.git Bug 3996: Malformed DNS reply leads to crash --- diff --git a/src/dns_internal.cc b/src/dns_internal.cc index 0cc3d61626..dea6113620 100644 --- a/src/dns_internal.cc +++ b/src/dns_internal.cc @@ -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));