Peter Oberndorfer : dbghelp: Initialize the elf_section_map in case of failures in elf_find_section.
Module: wine Branch: master Commit: 7bbb21205005f9b14ca7f58a126b512cb8941420 URL: http://source.winehq.org/git/wine.git/?a=commit;h=7bbb21205005f9b14ca7f58a12... Author: Peter Oberndorfer <kumbayo84(a)arcor.de> Date: Thu Mar 15 21:57:04 2007 +0100 dbghelp: Initialize the elf_section_map in case of failures in elf_find_section. Make sidx signed so sidx < 0 comparisons work. (most of the patch written by Eric Pouech) --- dlls/dbghelp/elf_module.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dlls/dbghelp/elf_module.c b/dlls/dbghelp/elf_module.c index 62a1ee8..b1b6b74 100644 --- a/dlls/dbghelp/elf_module.c +++ b/dlls/dbghelp/elf_module.c @@ -119,7 +119,7 @@ struct elf_file_map struct elf_section_map { struct elf_file_map* fmap; - unsigned sidx; + long sidx; }; struct symtab_elt @@ -178,8 +178,7 @@ static BOOL elf_find_section(struct elf_file_map* fmap, const char* name, if (fmap->shstrtab == ELF_NO_MAP) { struct elf_section_map hdr_esm = {fmap, fmap->elfhdr.e_shstrndx}; - fmap->shstrtab = elf_map_section(&hdr_esm); - if (fmap->shstrtab == ELF_NO_MAP) return FALSE; + if ((fmap->shstrtab = elf_map_section(&hdr_esm)) == ELF_NO_MAP) break; } for (i = 0; i < fmap->elfhdr.e_shnum; i++) { @@ -193,6 +192,8 @@ static BOOL elf_find_section(struct elf_file_map* fmap, const char* name, } fmap = fmap->alternate; } + esm->fmap = NULL; + esm->sidx = -1; return FALSE; }
participants (1)
-
Alexandre Julliard