aboutsummaryrefslogtreecommitdiff
path: root/gdb/python/py-finishbreakpoint.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/python/py-finishbreakpoint.c')
-rw-r--r--gdb/python/py-finishbreakpoint.c7
1 files changed, 3 insertions, 4 deletions
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);