[nagiosplug] Fix memory leak in check_http for large pages ...

"Ton Voon" <[email protected]>
Newsgroups gmane.network.nagios.plugins.cvs
Message-ID <[email protected]>
 Module: nagiosplug
 Branch: master
 Commit: 6b782ebfd4832c1fe621556bcf894162b8caa8aa
 Author: Ton Voon <[email protected]>
   Date: Fri Feb 26 12:47:38 2010 +0000
    URL: http://nagiosplug.git.sf.net/git/gitweb.cgi?p=nagiosplug/nagiosplug;a=commit;h=6b782eb

Fix memory leak in check_http for large pages (Jimmy Bergman - #2957455)

---

 NEWS                 |    1 +
 THANKS.in            |    1 +
 plugins/check_http.c |    5 ++++-
 3 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/NEWS b/NEWS
index 667e1f0..443389a 100644
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,7 @@ This file documents the major additions and syntax changes between releases.
 	check_icmp now increment the sequence counter in each packet
 	Fix usage of repeated -o options in check_snmp
 	Try to detect arguments passed via --with-ping[6]-command and set options accordingly (#2908236)
+	Fix memory leak in check_http for large pages (Jimmy Bergman - #2957455)
 	WARNINGS
 	Updated developer documentation to say that performance labels should not have an equals sign or
 	single quote in the label
diff --git a/THANKS.in b/THANKS.in
index 89caf28..1966303 100644
--- a/THANKS.in
+++ b/THANKS.in
@@ -258,3 +258,4 @@ Nikita Kalabukhov
 Grant Byers
 Marcel Kuiper
 Bryan Irvine
+Jimmy Bergman
diff --git a/plugins/check_http.c b/plugins/check_http.c
index 0a4b12b..5cdf144 100644
--- a/plugins/check_http.c
+++ b/plugins/check_http.c
@@ -784,6 +784,7 @@ check_http (void)
   int i = 0;
   size_t pagesize = 0;
   char *full_page;
+  char *full_page_new;
   char *buf;
   char *pos;
   long microsec;
@@ -871,7 +872,9 @@ check_http (void)
   full_page = strdup("");
   while ((i = my_recv (buffer, MAX_INPUT_BUFFER-1)) > 0) {
     buffer[i] = '\0';
-    asprintf (&full_page, "%s%s", full_page, buffer);
+    asprintf (&full_page_new, "%s%s", full_page, buffer);
+    free (full_page);
+    full_page = full_page_new;
     pagesize += i;
 
                 if (no_body && document_headers_done (full_page)) {


------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.