Gerald Pfeifer a écrit :
ChangeLog: Remove two variables which are not really used in dwarf2_parse_line_numbers.
diff --git a/dlls/dbghelp/dwarf.c b/dlls/dbghelp/dwarf.c index 4be0f6a..69d7357 100644 --- a/dlls/dbghelp/dwarf.c +++ b/dlls/dbghelp/dwarf.c @@ -1920,7 +1920,7 @@ static BOOL dwarf2_parse_line_numbers(const dwarf2_section_t* sections, { dwarf2_traverse_context_t traverse; unsigned long length;
- unsigned version, header_len, insn_size, default_stmt;
- unsigned insn_size, default_stmt; unsigned line_range, opcode_base; int line_base; const unsigned char* opcode_len;
@@ -1939,8 +1939,6 @@ static BOOL dwarf2_parse_line_numbers(const dwarf2_section_t* sections, length = dwarf2_parse_u4(&traverse); traverse.end_data = sections[section_line].address + offset + length;
- version = dwarf2_parse_u2(&traverse);
- header_len = dwarf2_parse_u4(&traverse); insn_size = dwarf2_parse_byte(&traverse); default_stmt = dwarf2_parse_byte(&traverse); line_base = (signed char)dwarf2_parse_byte(&traverse);
this is wrong: dwarf_parse family set makes the pointer in the cxt advance by the size of the object which is being parse and actually, the correct fix would be to make use of those variables (like checking if the version is a known one), instead of throwing things away
A+