Eric Pouech : dbghelp: In dwarf parsing, correctly get the size of addresses in location lists.
Alexandre Julliard
julliard at winehq.org
Thu Mar 25 11:44:42 CDT 2010
Module: wine
Branch: master
Commit: 403f41687e2b978c5382556cca1c2380fdb0c25b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=403f41687e2b978c5382556cca1c2380fdb0c25b
Author: Eric Pouech <eric.pouech at orange.fr>
Date: Wed Mar 24 22:04:12 2010 +0100
dbghelp: In dwarf parsing, correctly get the size of addresses in location lists.
---
dlls/dbghelp/dwarf.c | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/dlls/dbghelp/dwarf.c b/dlls/dbghelp/dwarf.c
index ebf019d..5513bed 100644
--- a/dlls/dbghelp/dwarf.c
+++ b/dlls/dbghelp/dwarf.c
@@ -2213,8 +2213,7 @@ static BOOL dwarf2_parse_compilation_unit(const dwarf2_section_t* sections,
}
static BOOL dwarf2_lookup_loclist(const struct module_format* modfmt, const BYTE* start,
- unsigned long ip,
- dwarf2_traverse_context_t* lctx)
+ unsigned long ip, dwarf2_traverse_context_t* lctx)
{
DWORD_PTR beg, end;
const BYTE* ptr = start;
@@ -2222,8 +2221,8 @@ static BOOL dwarf2_lookup_loclist(const struct module_format* modfmt, const BYTE
while (ptr < modfmt->u.dwarf2_info->debug_loc.address + modfmt->u.dwarf2_info->debug_loc.size)
{
- beg = dwarf2_get_u4(ptr); ptr += 4;
- end = dwarf2_get_u4(ptr); ptr += 4;
+ beg = dwarf2_get_addr(ptr, modfmt->u.dwarf2_info->word_size); ptr += modfmt->u.dwarf2_info->word_size;
+ end = dwarf2_get_addr(ptr, modfmt->u.dwarf2_info->word_size); ptr += modfmt->u.dwarf2_info->word_size;
if (!beg && !end) break;
len = dwarf2_get_u2(ptr); ptr += 2;
More information about the wine-cvs
mailing list