]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Bug 3140: memory leak in error page generation
authorAmos Jeffries <squid3@treenet.co.nz>
Tue, 1 Feb 2011 01:57:16 +0000 (18:57 -0700)
committerAmos Jeffries <squid3@treenet.co.nz>
Tue, 1 Feb 2011 01:57:16 +0000 (18:57 -0700)
Avoid freeing buffer m before using it. Specific to the 3.2+ logics.

src/errorpage.cc

index d4f7ee7bc922162d502aba46c478f1c5417cc50a..fc92e04565c8e9f58f0471afb794f5dbb141eda3 100644 (file)
@@ -1168,11 +1168,12 @@ ErrorState::BuildContent()
         debugs(4, 2, HERE << "No existing error page language negotiated for " << errorPageName(page_id) << ". Using default error file.");
     }
 
+    MemBuf *result = ConvertText(m, true);
 #if USE_ERR_LOCALES
     safe_free(freePage);
 #endif
 
-    return ConvertText(m, true);
+    return result;
 }
 
 MemBuf *ErrorState::ConvertText(const char *text, bool allowRecursion)