浏览代码

CTest: Fix memory leaks on error

Credit goes to "cppcheck".

Signed-off-by: Thomas Jarosch <[email protected]>
Thomas Jarosch 14 年之前
父节点
当前提交
f47393c66b
共有 3 个文件被更改,包括 5 次插入0 次删除
  1. 2 0
      Source/CTest/cmCTestRunTest.cxx
  2. 1 0
      Source/CTest/cmParsePHPCoverage.cxx
  3. 2 0
      Source/cmCTest.cxx

+ 2 - 0
Source/CTest/cmCTestRunTest.cxx

@@ -93,6 +93,7 @@ void cmCTestRunTest::CompressOutput()
   ret = deflateInit(&strm, -1); //default compression level
   if (ret != Z_OK)
     {
+    delete[] out;
     return;
     }
 
@@ -106,6 +107,7 @@ void cmCTestRunTest::CompressOutput()
     {
     cmCTestLog(this->CTest, ERROR_MESSAGE, "Error during output "
       "compression. Sending uncompressed output." << std::endl);
+    delete[] out;
     return;
     }
 

+ 1 - 0
Source/CTest/cmParsePHPCoverage.cxx

@@ -159,6 +159,7 @@ bool cmParsePHPCoverage::ReadFileInformation(std::ifstream& in)
     // read open quote
     if(in.get(c) && c != '"')
       {
+      delete[] s;
       return false;
       }
     // read the string data

+ 2 - 0
Source/cmCTest.cxx

@@ -3096,6 +3096,7 @@ bool cmCTest::CompressString(std::string& str)
   ret = deflateInit(&strm, -1); //default compression level
   if (ret != Z_OK)
     {
+    delete[] out;
     return false;
     }
 
@@ -3109,6 +3110,7 @@ bool cmCTest::CompressString(std::string& str)
     {
     cmCTestLog(this, ERROR_MESSAGE, "Error during gzip compression."
       << std::endl);
+    delete[] out;
     return false;
     }