From 8e93085bdb97f769dfe2eeaf9d8ba116e9d2c24a Mon Sep 17 00:00:00 2001 From: "Matt." Date: Sun, 24 Nov 2024 12:42:06 -0300 Subject: [PATCH] Make `aglib.get_register` less stringent (#2569) --- pwndbg/aglib/regs.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pwndbg/aglib/regs.py b/pwndbg/aglib/regs.py index fb4dbaea6..2f25a06af 100644 --- a/pwndbg/aglib/regs.py +++ b/pwndbg/aglib/regs.py @@ -41,9 +41,11 @@ def get_register( ) -> pwndbg.dbg_mod.Value | None: if frame is None: frame = pwndbg.dbg.selected_frame() - assert ( - frame is not None - ), "pwndbg.dbg.selected_frame() should never return None when marked with @OnlyWhenRunning" + if frame is None: + # `read_reg` will return None when it catches this exception. This + # mirrors how a `gdb.error` causes `read_reg` to return `None` in + # gdblib when no frame is selected. + raise pwndbg.dbg_mod.Error("No currently selected frame to read registers from") regs = regs_in_frame(frame)