[Cmake-commits] CMake branch, next, updated. v3.1.0-1403-gd4e0699
Rolf Eike Beer
eike at sf-mail.de
Fri Dec 26 10:24:39 EST 2014
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via d4e069935251bb182498ed2b6ca7a8037897a989 (commit)
via 0bdd4ebfb8303cc46e4a8bbe16f6c7bcc7108e2a (commit)
via a9fae8ac1d952ffd3b54de6082f9729466101bb0 (commit)
from 34cda259eb4546e5b863367fd2a7f8b1779bc438 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d4e069935251bb182498ed2b6ca7a8037897a989
commit d4e069935251bb182498ed2b6ca7a8037897a989
Merge: 34cda25 0bdd4eb
Author: Rolf Eike Beer <eike at sf-mail.de>
AuthorDate: Fri Dec 26 10:24:38 2014 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Fri Dec 26 10:24:38 2014 -0500
Merge topic 'base64-casts' into next
0bdd4ebf cmCTest: Use size_t for cmsysBase64_Encode return value
a9fae8ac CTest: Fix integer overflow when uploading huge files
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0bdd4ebfb8303cc46e4a8bbe16f6c7bcc7108e2a
commit 0bdd4ebfb8303cc46e4a8bbe16f6c7bcc7108e2a
Author: Brad King <brad.king at kitware.com>
AuthorDate: Tue Dec 23 11:26:55 2014 -0500
Commit: Rolf Eike Beer <eike at sf-mail.de>
CommitDate: Fri Dec 26 16:23:35 2014 +0100
cmCTest: Use size_t for cmsysBase64_Encode return value
diff --git a/Source/CTest/cmCTestRunTest.cxx b/Source/CTest/cmCTestRunTest.cxx
index 9e3c9fc..ff55528 100644
--- a/Source/CTest/cmCTestRunTest.cxx
+++ b/Source/CTest/cmCTestRunTest.cxx
@@ -116,10 +116,10 @@ void cmCTestRunTest::CompressOutput()
unsigned char *encoded_buffer
= new unsigned char[static_cast<int>(outSize * 1.5)];
- unsigned long rlen
+ size_t rlen
= cmsysBase64_Encode(out, strm.total_out, encoded_buffer, 1);
- for(unsigned long i = 0; i < rlen; i++)
+ for(size_t i = 0; i < rlen; i++)
{
this->CompressedOutput += encoded_buffer[i];
}
diff --git a/Source/CTest/cmCTestTestHandler.cxx b/Source/CTest/cmCTestTestHandler.cxx
index f330e58..8518a90 100644
--- a/Source/CTest/cmCTestTestHandler.cxx
+++ b/Source/CTest/cmCTestTestHandler.cxx
@@ -1976,9 +1976,8 @@ std::string cmCTestTestHandler::GenerateRegressionImages(
= new unsigned char [ static_cast<int>(
static_cast<double>(len) * 1.5 + 5.0) ];
- unsigned long rlen
+ size_t rlen
= cmsysBase64_Encode(file_buffer, len, encoded_buffer, 1);
- unsigned long cc;
ostr
<< "\t\t\t<NamedMeasurement"
@@ -1988,7 +1987,7 @@ std::string cmCTestTestHandler::GenerateRegressionImages(
<< measurementfile.match(4) << "\""
<< " encoding=\"base64\""
<< ">" << std::endl << "\t\t\t\t<Value>";
- for ( cc = 0; cc < rlen; cc ++ )
+ for (size_t cc = 0; cc < rlen; cc ++ )
{
ostr << encoded_buffer[cc];
if ( cc % 60 == 0 && cc )
diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx
index 814c4e0..1362a50 100644
--- a/Source/cmCTest.cxx
+++ b/Source/cmCTest.cxx
@@ -1701,11 +1701,11 @@ std::string cmCTest::Base64EncodeFile(std::string file)
unsigned char *encoded_buffer
= new unsigned char [ (len * 3) / 2 + 5 ];
- unsigned long rlen
+ size_t const rlen
= cmsysBase64_Encode(file_buffer, len, encoded_buffer, 1);
std::string base64 = "";
- for(unsigned long i = 0; i < rlen; i++)
+ for(size_t i = 0; i < rlen; i++)
{
base64 += encoded_buffer[i];
}
@@ -3193,7 +3193,7 @@ bool cmCTest::CompressString(std::string& str)
unsigned char* base64EncodedBuffer
= new unsigned char[(outSize * 3) / 2];
- unsigned long rlen
+ size_t rlen
= cmsysBase64_Encode(out, strm.total_out, base64EncodedBuffer, 1);
str = "";
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a9fae8ac1d952ffd3b54de6082f9729466101bb0
commit a9fae8ac1d952ffd3b54de6082f9729466101bb0
Author: Rolf Eike Beer <eike at sf-mail.de>
AuthorDate: Mon Dec 22 21:56:14 2014 +0100
Commit: Rolf Eike Beer <eike at sf-mail.de>
CommitDate: Fri Dec 26 16:23:31 2014 +0100
CTest: Fix integer overflow when uploading huge files
When uploading files greater 2GB a cast to 'int' overflows, leading to a
bad alloc when passed to new. Also avoid floating point arithmetic when
integer calculations will work as well.
Reported-by: Justin Borodinsky <justin.borodinsky at gmail.com>
diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx
index 2bf7b77..814c4e0 100644
--- a/Source/cmCTest.cxx
+++ b/Source/cmCTest.cxx
@@ -1688,7 +1688,7 @@ std::string cmCTest::Base64GzipEncodeFile(std::string file)
//----------------------------------------------------------------------
std::string cmCTest::Base64EncodeFile(std::string file)
{
- long len = cmSystemTools::FileLength(file);
+ size_t const len = cmSystemTools::FileLength(file);
cmsys::ifstream ifs(file.c_str(), std::ios::in
#ifdef _WIN32
| std::ios::binary
@@ -1699,8 +1699,7 @@ std::string cmCTest::Base64EncodeFile(std::string file)
ifs.close();
unsigned char *encoded_buffer
- = new unsigned char [ static_cast<int>(
- static_cast<double>(len) * 1.5 + 5.0) ];
+ = new unsigned char [ (len * 3) / 2 + 5 ];
unsigned long rlen
= cmsysBase64_Encode(file_buffer, len, encoded_buffer, 1);
@@ -3192,7 +3191,7 @@ bool cmCTest::CompressString(std::string& str)
// Now base64 encode the resulting binary string
unsigned char* base64EncodedBuffer
- = new unsigned char[static_cast<int>(outSize * 1.5)];
+ = new unsigned char[(outSize * 3) / 2];
unsigned long rlen
= cmsysBase64_Encode(out, strm.total_out, base64EncodedBuffer, 1);
-----------------------------------------------------------------------
Summary of changes:
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list