Peter Oberndorfer : winemenubuilder: Use heap_printf to allocate the right amount of memory and not cause heap corruption .
Alexandre Julliard
julliard at winehq.org
Wed Jul 8 14:35:53 CDT 2009
Module: wine
Branch: master
Commit: 08a8f935c4f8ff69dfa6df070caf45d68d2a3e3e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=08a8f935c4f8ff69dfa6df070caf45d68d2a3e3e
Author: Peter Oberndorfer <kumbayo84 at arcor.de>
Date: Tue Jul 7 22:01:59 2009 +0200
winemenubuilder: Use heap_printf to allocate the right amount of memory and not cause heap corruption.
---
programs/winemenubuilder/winemenubuilder.c | 9 +++------
1 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/programs/winemenubuilder/winemenubuilder.c b/programs/winemenubuilder/winemenubuilder.c
index d9d7852..1eaa530 100644
--- a/programs/winemenubuilder/winemenubuilder.c
+++ b/programs/winemenubuilder/winemenubuilder.c
@@ -786,18 +786,15 @@ static char *extract_icon( LPCWSTR path, int index, const char *destFilename, BO
/* Try to treat the source file as an exe */
if (destFilename)
- xpm_path=HeapAlloc(GetProcessHeap(),0,strlen(iconsdir)+1+strlen(destFilename)+1+3);
+ xpm_path=heap_printf("%s/%s.png",iconsdir,destFilename);
else
- xpm_path=HeapAlloc(GetProcessHeap(), 0, strlen(iconsdir)+1+4+1+strlen(ico_name)+1+12+1+3);
+ xpm_path=heap_printf("%s/%04x_%s.%d.png",iconsdir,crc,ico_name,index);
if (xpm_path == NULL)
{
WINE_ERR("could not extract icon %s, out of memory\n", wine_dbgstr_a(ico_name));
return NULL;
}
- if (destFilename)
- sprintf(xpm_path,"%s/%s.png",iconsdir,destFilename);
- else
- sprintf(xpm_path,"%s/%04x_%s.%d.png",iconsdir,crc,ico_name,index);
+
if (ExtractFromEXEDLL( path, index, xpm_path ))
goto end;
More information about the wine-cvs
mailing list