Andrew Talbot : winhelp: Fix a memory leak.
Module: wine Branch: master Commit: ac524986df2a207b563fc6ef296c89744b7163c8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=ac524986df2a207b563fc6ef29... Author: Andrew Talbot <andrew.talbot(a)talbotville.com> Date: Thu Oct 25 20:07:47 2007 +0100 winhelp: Fix a memory leak. --- programs/winhelp/hlpfile.c | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-) diff --git a/programs/winhelp/hlpfile.c b/programs/winhelp/hlpfile.c index 8882a1a..3c34a06 100644 --- a/programs/winhelp/hlpfile.c +++ b/programs/winhelp/hlpfile.c @@ -860,7 +860,7 @@ static BOOL HLPFILE_AddParagraph(HLPFILE *hlpfile, BYTE *buf, BYTE *end, unsigne HLPFILE_PARAGRAPH *paragraph, **paragraphptr; UINT textsize; BYTE *format, *format_end; - char *text, *text_end; + char *text, *text_base, *text_end; long size; unsigned short bits; unsigned nc, ncol = 1; @@ -874,7 +874,7 @@ static BOOL HLPFILE_AddParagraph(HLPFILE *hlpfile, BYTE *buf, BYTE *end, unsigne if (buf + 0x19 > end) {WINE_WARN("header too small\n"); return FALSE;}; size = GET_UINT(buf, 0x4); - text = HeapAlloc(GetProcessHeap(), 0, size); + text = text_base = HeapAlloc(GetProcessHeap(), 0, size); if (!text) return FALSE; if (hlpfile->hasPhrases) { @@ -1164,8 +1164,7 @@ static BOOL HLPFILE_AddParagraph(HLPFILE *hlpfile, BYTE *buf, BYTE *end, unsigne } } } - if (text_end != (char*)buf + GET_UINT(buf, 0x10) + size) - HeapFree(GetProcessHeap(), 0, text_end - size); + HeapFree(GetProcessHeap(), 0, text_base); return TRUE; }
participants (1)
-
Alexandre Julliard