From 71f0c34536c38626c99936ff634722f54c7ef9b6 Mon Sep 17 00:00:00 2001 From: Amos Jeffries Date: Wed, 29 Sep 2010 22:38:54 -0600 Subject: [PATCH] Author: Stefan Fritsch Bug 3058: 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(). --- src/errorpage.cc | 4 +++- src/http.cc | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/errorpage.cc b/src/errorpage.cc index 08bf0ae14e..49908ce02a 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 7956a8ab6c..89542c87fc 100644 --- a/src/http.cc +++ b/src/http.cc @@ -681,6 +681,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 -- 2.47.2