[cximage] - fix big memory leak in raw image decoder - thx to smf007 for
authorMemphiz <memphis@machzwo.de>
Wed, 11 Jun 2014 13:48:01 +0000 (15:48 +0200)
committerMemphiz <memphis@machzwo.de>
Thu, 12 Jun 2014 00:01:05 +0000 (02:01 +0200)
finding that one

lib/cximage-6.0/CxImage/ximaenc.cpp

index 14e7890..ed8b779 100644 (file)
@@ -815,10 +815,12 @@ bool CxImage::Decode(CxFile *hFile, DWORD imagetype)
             if (newima.Decode( &hMemFile ))
             {
               Transfer(newima);
+              free(buffer);
               return true;
             }
             else
               hFile->Seek(pos, SEEK_SET);
+            free(buffer);
           }
           else
           {
@@ -1063,11 +1065,13 @@ bool CxImage::Decode(CxFile *hFile, DWORD imagetype)
         if (newima.Decode( &hMemFile ))
         {
           Transfer(newima);
+          free(buffer);
           return true;
         }
         else
         {
           strcpy(info.szLastError,newima.GetLastError());
+          free(buffer);
           return false;
         }
        }