From 15a56dfc638a61af7c68e98f93a59985c1153c8c Mon Sep 17 00:00:00 2001 From: Nikolai Nosov Date: Fri, 17 Jan 2020 09:47:28 +0400 Subject: [PATCH] fix dw_op_deref: fetch 8 byte value instead of 4 --- framework/dwarf_operations.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/dwarf_operations.cpp b/framework/dwarf_operations.cpp index ed80222..aa22e8f 100644 --- a/framework/dwarf_operations.cpp +++ b/framework/dwarf_operations.cpp @@ -140,7 +140,7 @@ bool dw_op_deref_size(dwarf_stack* stack, const dwarf_op_map* map, Dwarf_Word op // The size of the data retrieved from the dereferenced address is the size of an address on the target machine. bool dw_op_deref(dwarf_stack* stack, const dwarf_op_map* map, Dwarf_Word op1, Dwarf_Word op2) { - return dw_op_deref_size(stack, map, 4, op2); + return dw_op_deref_size(stack, map, 8, op2); } // DW_OP_const1u, DW_OP_const2u, DW_OP_const4u, DW_OP_const8u. The single operand of a DW_OP_constu operation provides a 1, 2, 4, or 8-byte unsigned integer constant, respectively.