diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/python/py-frame.c | 8 |
2 files changed, 11 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 22a2271..7f86c89 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2013-10-02 Phil Muldoon <pmuldoon@redhat.com> + * python/py-frame.c (frame_info_to_frame_object): Use + gdbpy_convert_exception. Clean up Python object on failure. + +2013-10-02 Phil Muldoon <pmuldoon@redhat.com> + * python/lib/gdb/command/frame_filters.py (InfoFrameFilter.list_frame_filters): Retrieve exception manually. (ShowFrameFilterPriority.invoke): Ditto. diff --git a/gdb/python/py-frame.c b/gdb/python/py-frame.c index f960b08..58cb8a0 100644 --- a/gdb/python/py-frame.c +++ b/gdb/python/py-frame.c @@ -333,8 +333,12 @@ frame_info_to_frame_object (struct frame_info *frame) } frame_obj->gdbarch = get_frame_arch (frame); } - GDB_PY_HANDLE_EXCEPTION (except); - + if (except.reason < 0) + { + Py_DECREF (frame_obj); + gdbpy_convert_exception (except); + return NULL; + } return (PyObject *) frame_obj; } |