summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2009-10-29 12:38:04 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2009-10-29 12:38:04 (GMT)
commitd7a3277fb3131479ca90f6dcb02dfe59ff7e1dca (patch)
tree354f9c0b17c56b9008aec7c3b49f0ac3d1036741 /Source
parent45d0e966946c8ed9a1ea4a395f50dff6b3ae4e28 (diff)
downloadCMake-d7a3277fb3131479ca90f6dcb02dfe59ff7e1dca.zip
CMake-d7a3277fb3131479ca90f6dcb02dfe59ff7e1dca.tar.gz
CMake-d7a3277fb3131479ca90f6dcb02dfe59ff7e1dca.tar.bz2
Fix bug#9767 catch missing leak.
Diffstat (limited to 'Source')
-rw-r--r--Source/CTest/cmCTestMemCheckHandler.cxx12
1 files changed, 10 insertions, 2 deletions
diff --git a/Source/CTest/cmCTestMemCheckHandler.cxx b/Source/CTest/cmCTestMemCheckHandler.cxx
index 0c63d83..47bb56a 100644
--- a/Source/CTest/cmCTestMemCheckHandler.cxx
+++ b/Source/CTest/cmCTestMemCheckHandler.cxx
@@ -659,8 +659,12 @@ bool cmCTestMemCheckHandler::ProcessMemCheckValgrindOutput(
"== .*Invalid free\\(\\) / delete / delete\\[\\]");
cmsys::RegularExpression vgFMM(
"== .*Mismatched free\\(\\) / delete / delete \\[\\]");
- cmsys::RegularExpression vgMLK(
+ cmsys::RegularExpression vgMLK1(
"== .*[0-9][0-9]* bytes in [0-9][0-9]* blocks are definitely lost"
+ " in loss record [0-9][0-9]* of [0-9]");
+ cmsys::RegularExpression vgMLK2(
+ "== .*[0-9][0-9]* \\([0-9]*,?[0-9]* direct, [0-9]*,?[0-9]* indirect\\)"
+ " bytes in [0-9][0-9]* blocks are definitely lost"
" in loss record [0-9][0-9]* of [0-9]");
cmsys::RegularExpression vgPAR(
"== .*Syscall param .* contains unaddressable byte\\(s\\)");
@@ -705,7 +709,11 @@ bool cmCTestMemCheckHandler::ProcessMemCheckValgrindOutput(
{
failure = cmCTestMemCheckHandler::FMM;
}
- else if ( vgMLK.find(lines[cc]) )
+ else if ( vgMLK1.find(lines[cc]) )
+ {
+ failure = cmCTestMemCheckHandler::MLK;
+ }
+ else if ( vgMLK2.find(lines[cc]) )
{
failure = cmCTestMemCheckHandler::MLK;
}