Fixed memory leak in lodepng.
authorArmin Novak <armin.novak@thincast.com>
Wed, 16 Jan 2019 14:23:12 +0000 (15:23 +0100)
committerArmin Novak <armin.novak@thincast.com>
Wed, 16 Jan 2019 14:23:12 +0000 (15:23 +0100)
winpr/libwinpr/utils/lodepng/lodepng.c

index 610c2c8..5f3a4d1 100644 (file)
@@ -2017,7 +2017,8 @@ static unsigned lodepng_deflatev(ucvector* out, const unsigned char* in, size_t
   if(numdeflateblocks == 0) numdeflateblocks = 1;
 
   error = hash_init(&hash, settings->windowsize);
-  if(error) return error;
+  if(error)
+               goto fail;
 
   for(i = 0; i < numdeflateblocks && !error; i++)
   {
@@ -2030,6 +2031,7 @@ static unsigned lodepng_deflatev(ucvector* out, const unsigned char* in, size_t
     else if(settings->btype == 2) error = deflateDynamic(out, &bp, &hash, in, start, end, settings, final);
   }
 
+fail:
   hash_cleanup(&hash);
 
   return error;