Module: wine Branch: master Commit: ac524986df2a207b563fc6ef296c89744b7163c8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=ac524986df2a207b563fc6ef29...
Author: Andrew Talbot andrew.talbot@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; }