From 30870ef90f4a74e7c53a6856b10bcd2f16e4d1bd Mon Sep 17 00:00:00 2001
From: Dimitri van Heesch <dimitri@stack.nl>
Date: Tue, 23 Sep 2014 20:50:48 +0200
Subject: Bug 735982 - [PATCH] Fix potential allocation of huge memory amount
 due to type overflow in src/lodepng.cpp

---
 src/lodepng.cpp | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/lodepng.cpp b/src/lodepng.cpp
index 3bf1d46..46011a8 100644
--- a/src/lodepng.cpp
+++ b/src/lodepng.cpp
@@ -4125,9 +4125,12 @@ unsigned LodePNG_loadFile(unsigned char** out, size_t* outsize, const char* file
   rewind(file);
   
   /*read contents of the file into the vector*/
-  *outsize = 0;
-  *out = (unsigned char*)malloc((size_t)size);
-  if(size && (*out)) (*outsize) = fread(*out, 1, (size_t)size, file);
+  if (size>0)
+  {
+    *outsize = 0;
+    *out = (unsigned char*)malloc((size_t)size);
+    if(size && (*out)) (*outsize) = fread(*out, 1, (size_t)size, file);
+  }
 
   fclose(file);
   if(!(*out) && size) return 80; /*the above malloc failed*/
-- 
cgit v0.12