[PATCH 1/3] dbghelp: initialize the elf_section_map in case of
failures in
Peter Oberndorfer
kumbayo84 at arcor.de
Thu Mar 15 15:57:04 CDT 2007
elf_find_section to ease up the handling of optional sections
make sidx unsigned 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..ffaa59a 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;
+ signed 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;
}
--
1.5.0.3
More information about the wine-patches
mailing list