DbgHelp: Don't Use exit(0) when OOM
Robert Shearman
rob at codeweavers.com
Wed Sep 29 19:26:16 CDT 2004
Changelog:
Rewrite a section of code so that it doesn't use exit(0) when out of memory.
-------------- next part --------------
Index: wine/dlls/dbghelp/elf_module.c
===================================================================
RCS file: /home/wine/wine/dlls/dbghelp/elf_module.c,v
retrieving revision 1.9
diff -u -p -r1.9 elf_module.c
--- wine/dlls/dbghelp/elf_module.c 30 Aug 2004 19:31:14 -0000 1.9
+++ wine/dlls/dbghelp/elf_module.c 29 Sep 2004 23:46:18 -0000
@@ -733,18 +889,19 @@ static BOOL elf_load_file(struct process
if (elf_info->flags & ELF_INFO_MODULE)
{
+ struct elf_module_info *elf_module_info =
+ HeapAlloc(GetProcessHeap(), 0, sizeof(struct elf_module_info));
+ if (!elf_module_info) goto leave;
elf_info->module = module_new(pcs, filename, DMT_ELF,
- (load_offset) ? load_offset : start,
- size, 0, 0);
- if (!elf_info->module) goto leave;
- elf_info->module->elf_info = HeapAlloc(GetProcessHeap(),
- 0, sizeof(struct elf_module_info));
- if (elf_info->module->elf_info == NULL)
+ (load_offset) ? load_offset : start,
+ size, 0, 0);
+ if (!elf_info->module)
{
- ERR("OOM\n");
- exit(0); /* FIXME */
+ HeapFree(GetProcessHeap(), 0, elf_module_info);
+ goto leave;
}
- elf_info->module->elf_info->elf_addr = load_offset;
+ elf_info->module->elf_info = elf_module_info;
+ elf_info->module->elf_info->elf_addr = load_offset;
if (dbghelp_options & SYMOPT_DEFERRED_LOADS)
{
More information about the wine-patches
mailing list