mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-30 04:48:36 +00:00
winhlp32: Fix memory leak on realloc failure in HLPFILE_RtfAddBitmap (cppcheck).
This commit is contained in:
parent
e1f45229db
commit
a6f3e4ad22
|
@ -966,6 +966,7 @@ static BOOL HLPFILE_RtfAddBitmap(struct RtfData* rd, HLPFILE* file, const BYTE*
|
|||
const BYTE* pict_beg;
|
||||
BYTE* alloc = NULL;
|
||||
BITMAPINFO* bi;
|
||||
BITMAPINFO* new_bi;
|
||||
ULONG off, csz;
|
||||
unsigned nc = 0;
|
||||
BOOL clrImportant = FALSE;
|
||||
|
@ -1013,8 +1014,13 @@ static BOOL HLPFILE_RtfAddBitmap(struct RtfData* rd, HLPFILE* file, const BYTE*
|
|||
if (!nc && bi->bmiHeader.biBitCount <= 8)
|
||||
nc = 1 << bi->bmiHeader.biBitCount;
|
||||
|
||||
bi = realloc(bi, sizeof(*bi) + nc * sizeof(RGBQUAD));
|
||||
if (!bi) return FALSE;
|
||||
new_bi = realloc(bi, sizeof(*bi) + nc * sizeof(RGBQUAD));
|
||||
if (!new_bi)
|
||||
{
|
||||
free(bi);
|
||||
return FALSE;
|
||||
}
|
||||
bi = new_bi;
|
||||
for (i = 0; i < nc; i++)
|
||||
{
|
||||
bi->bmiColors[i].rgbBlue = ptr[0];
|
||||
|
|
Loading…
Reference in a new issue