From: Susant Sahani Date: Thu, 9 Jan 2014 20:27:49 +0000 (-0800) Subject: Bug 3996: Malformed DNS reply leads to crash X-Git-Tag: SQUID_3_5_0_1~430 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8185c30bedaf413aad342175edc5c867060ebec3;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 fd3c43facd..a8f6837e07 100644 --- a/src/dns_internal.cc +++ b/src/dns_internal.cc @@ -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));