diff Core/Compression/ZlibCompressor.cpp @ 221:e7432706b354

accessors to storage
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 29 Nov 2012 18:01:06 +0100
parents fe180eae201d
children bdd72233b105
line wrap: on
line diff
--- a/Core/Compression/ZlibCompressor.cpp	Thu Nov 29 15:06:50 2012 +0100
+++ b/Core/Compression/ZlibCompressor.cpp	Thu Nov 29 18:01:06 2012 +0100
@@ -110,7 +110,15 @@
 
     size_t uncompressedLength;
     memcpy(&uncompressedLength, compressed, sizeof(size_t));
-    uncompressed.resize(uncompressedLength);
+    
+    try
+    {
+      uncompressed.resize(uncompressedLength);
+    }
+    catch (...)
+    {
+      throw OrthancException("Zlib: Corrupted compressed buffer");
+    }
 
     uLongf tmp = uncompressedLength;
     int error = uncompress