From: Alex Rousskov Date: Mon, 20 Sep 2010 19:00:02 +0000 (-0600) Subject: Author: Stefan Fritsch X-Git-Tag: take1~242 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ddbe383d7e4657bc5b6aa6a59597a2cb3d53acfd;p=thirdparty%2Fsquid.git Author: Stefan Fritsch Bug #3058 fix: errorSend and ICY leak MemBuf object. HttpReply::pack() returns a MemBuf pointer that must be deleted. Fixed leaking errorSend() function in errorpage.cc and ICY parsing hack in HttpStateData::processReplyHeader(). --- diff --git a/src/errorpage.cc b/src/errorpage.cc index 7e80a965ec..bcc3e2e966 100644 --- a/src/errorpage.cc +++ b/src/errorpage.cc @@ -457,7 +457,9 @@ errorSend(int fd, ErrorState * err) rep = err->BuildHttpReply(); - comm_write_mbuf(fd, rep->pack(), errorSendComplete, err); + MemBuf *mb = rep->pack(); + comm_write_mbuf(fd, mb, errorSendComplete, err); + delete mb; delete rep; } diff --git a/src/http.cc b/src/http.cc index 597ad6c4f6..6f613729a9 100644 --- a/src/http.cc +++ b/src/http.cc @@ -680,6 +680,7 @@ HttpStateData::processReplyHeader() tmprep->header.putExt("X-Transformed-From", "HTTP/0.9"); mb = tmprep->pack(); newrep->parse(mb, eof, &error); + delete mb; delete tmprep; } else { if (!parsed && error > 0) { // unrecoverable parsing error