mirror of
https://github.com/reactos/CMake.git
synced 2024-11-29 06:20:23 +00:00
Merge topic 'base64-casts'
0bdd4ebf
cmCTest: Use size_t for cmsysBase64_Encode return valuea9fae8ac
CTest: Fix integer overflow when uploading huge files
This commit is contained in:
commit
dc451574c6
@ -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];
|
||||
}
|
||||
|
@ -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 )
|
||||
|
@ -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,14 +1699,13 @@ 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
|
||||
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];
|
||||
}
|
||||
@ -3190,9 +3189,9 @@ 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
|
||||
size_t rlen
|
||||
= cmsysBase64_Encode(out, strm.total_out, base64EncodedBuffer, 1);
|
||||
|
||||
str = "";
|
||||
|
Loading…
Reference in New Issue
Block a user