Yes, thank you. <br><br>On Saturday, December 20, 2014, Rolf Eike Beer <<a href="mailto:eike@sf-mail.de">eike@sf-mail.de</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Justin Borodinsky wrote:<br>
> I received a bad alloc when uploading a large file with CTest. The patch<br>
> below resolved this.<br>
<br>
Your patch is line-wrapped and can't be applied. However, I did this by hand.<br>
This is basically the same, but it avoids the needless floating point<br>
arithmetic. Does it work for you?<br>
<br>
diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx<br>
index 2bf7b77..1a7bf45 100644<br>
--- a/Source/cmCTest.cxx<br>
+++ b/Source/cmCTest.cxx<br>
@@ -1688,7 +1688,7 @@ std::string cmCTest::Base64GzipEncodeFile(std::string file)<br>
 //----------------------------------------------------------------------<br>
 std::string cmCTest::Base64EncodeFile(std::string file)<br>
 {<br>
-  long len = cmSystemTools::FileLength(file);<br>
+  const size_t len = cmSystemTools::FileLength(file);<br>
   cmsys::ifstream ifs(file.c_str(), std::ios::in<br>
 #ifdef _WIN32<br>
     | std::ios::binary<br>
@@ -1699,8 +1699,7 @@ std::string cmCTest::Base64EncodeFile(std::string file)<br>
   ifs.close();<br>
<br>
   unsigned char *encoded_buffer<br>
-    = new unsigned char [ static_cast<int>(<br>
-        static_cast<double>(len) * 1.5 + 5.0) ];<br>
+    = new unsigned char [ (len * 3) / 2 + 5 ];<br>
<br>
   unsigned long rlen<br>
     = cmsysBase64_Encode(file_buffer, len, encoded_buffer, 1);<br>
<br>
<br>
<br>
Eike<br>
-- </blockquote>