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