diff --git a/pwndbg/aglib/memory.py b/pwndbg/aglib/memory.py index 8ee1bc2d3..4e6c88ebd 100644 --- a/pwndbg/aglib/memory.py +++ b/pwndbg/aglib/memory.py @@ -8,6 +8,7 @@ import pwndbg.aglib.arch import pwndbg.aglib.typeinfo import pwndbg.lib.cache import pwndbg.lib.memory +from pwndbg.dbg import TypeCode from pwndbg.lib.memory import PAGE_SIZE GdbDict = Dict[str, Union["GdbDict", int]] @@ -375,11 +376,9 @@ def pack_struct_into_dictionary( def convert_pwndbg_value_to_python_value(dbg_value: pwndbg.dbg_mod.Value) -> int | GdbDict: ty = dbg_value.type.strip_typedefs() - if ty.code == pwndbg.dbg_mod.TypeCode.POINTER: + if ty.code == TypeCode.POINTER or ty.code == TypeCode.INT: return int(dbg_value) - elif ty.code == pwndbg.dbg_mod.TypeCode.INT: - return int(dbg_value) - elif ty.code == pwndbg.dbg_mod.TypeCode.STRUCT: + elif ty.code == TypeCode.STRUCT: return pack_struct_into_dictionary(dbg_value) raise NotImplementedError diff --git a/pwndbg/gdblib/memory.py b/pwndbg/gdblib/memory.py index d9cd06266..5184c6d17 100644 --- a/pwndbg/gdblib/memory.py +++ b/pwndbg/gdblib/memory.py @@ -432,9 +432,7 @@ def pack_struct_into_dictionary( def convert_gdb_value_to_python_value(gdb_value: gdb.Value) -> int | GdbDict: gdb_type = gdb_value.type.strip_typedefs() - if gdb_type.code == gdb.TYPE_CODE_PTR: - return int(gdb_value) - elif gdb_type.code == gdb.TYPE_CODE_INT: + if gdb_type.code == gdb.TYPE_CODE_PTR or gdb_type.code == gdb.TYPE_CODE_INT: return int(gdb_value) elif gdb_type.code == gdb.TYPE_CODE_STRUCT: return pack_struct_into_dictionary(gdb_value)