diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/python/py-finishbreakpoint.c | 7 |
2 files changed, 8 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 73e120d..912b51a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2017-01-10 Tom Tromey <tom@tromey.com> + * python/py-finishbreakpoint.c (bpfinishpy_out_of_scope): Use + gdbpy_ref. + +2017-01-10 Tom Tromey <tom@tromey.com> + * python/py-cmd.c (cmdpy_completer_helper): Use gdbpy_ref. Remove extra incref. (cmdpy_completer_handle_brkchars, cmdpy_completer, cmdpy_init): diff --git a/gdb/python/py-finishbreakpoint.c b/gdb/python/py-finishbreakpoint.c index 4e49ec7..7f30d86 100644 --- a/gdb/python/py-finishbreakpoint.c +++ b/gdb/python/py-finishbreakpoint.c @@ -30,6 +30,7 @@ #include "inferior.h" #include "block.h" #include "location.h" +#include "py-ref.h" /* Function that is called when a Python finish bp is found out of scope. */ static char * const outofscope_func = "out_of_scope"; @@ -337,12 +338,10 @@ bpfinishpy_out_of_scope (struct finish_breakpoint_object *bpfinish_obj) if (bpfinish_obj->py_bp.bp->enable_state == bp_enabled && PyObject_HasAttrString (py_obj, outofscope_func)) { - PyObject *meth_result; - - meth_result = PyObject_CallMethod (py_obj, outofscope_func, NULL); + gdbpy_ref meth_result (PyObject_CallMethod (py_obj, outofscope_func, + NULL)); if (meth_result == NULL) gdbpy_print_stack (); - Py_XDECREF (meth_result); } delete_breakpoint (bpfinish_obj->py_bp.bp); |