diff options
Diffstat (limited to 'Source/CTest')
-rw-r--r-- | Source/CTest/cmCTestCoverageHandler.cxx | 6 | ||||
-rw-r--r-- | Source/CTest/cmCTestSubmitHandler.cxx | 10 |
2 files changed, 12 insertions, 4 deletions
diff --git a/Source/CTest/cmCTestCoverageHandler.cxx b/Source/CTest/cmCTestCoverageHandler.cxx index 1f27394..0606cd9 100644 --- a/Source/CTest/cmCTestCoverageHandler.cxx +++ b/Source/CTest/cmCTestCoverageHandler.cxx @@ -1501,15 +1501,15 @@ int cmCTestCoverageHandler::RunBullseyeSourceSummary( float cper = percentBranch + percentFunction; if(totalBranches > 0) { - cper /= 2.0; + cper /= 2.0f; } percent_coverage += cper; float cmet = percentFunction + percentBranch; if(totalBranches > 0) { - cmet /= 2.0; + cmet /= 2.0f; } - cmet /= 100.0; + cmet /= 100.0f; // Hack for conversion of function to loc assume a function // has 100 lines of code functionsCalled *=100; diff --git a/Source/CTest/cmCTestSubmitHandler.cxx b/Source/CTest/cmCTestSubmitHandler.cxx index 05a8e5a..8e7919d 100644 --- a/Source/CTest/cmCTestSubmitHandler.cxx +++ b/Source/CTest/cmCTestSubmitHandler.cxx @@ -695,7 +695,15 @@ bool cmCTestSubmitHandler::SubmitUsingXMLRPC(const cmStdString& localprefix, return false; } - size_t fileSize = st.st_size; + // off_t can be bigger than size_t. fread takes size_t. + // make sure the file is not too big. + if (st.st_size > (size_t)-1) + { + cmCTestLog(this->CTest, ERROR_MESSAGE, " File too big: " + << local_file.c_str() << std::endl); + return false; + } + size_t fileSize = static_cast<size_t>(st.st_size); FILE* fp = fopen(local_file.c_str(), "rb"); if ( !fp ) { |