diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/python/py-breakpoint.c | 8 |
2 files changed, 8 insertions, 5 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 49722e80019..74e32bfd4a6 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2017-01-10 Tom Tromey <tom@tromey.com> + * python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use + gdbpy_ref. + +2017-01-10 Tom Tromey <tom@tromey.com> + * python/py-arch.c (archpy_disassemble): Use gdbpy_ref. Don't decref results of PyArg_ParseTupleAndKeywords. diff --git a/gdb/python/py-breakpoint.c b/gdb/python/py-breakpoint.c index f3520cc8be5..f268b2bb446 100644 --- a/gdb/python/py-breakpoint.c +++ b/gdb/python/py-breakpoint.c @@ -805,12 +805,12 @@ gdbpy_breakpoint_cond_says_stop (const struct extension_language_defn *extlang, if (PyObject_HasAttrString (py_bp, stop_func)) { - PyObject *result = PyObject_CallMethod (py_bp, stop_func, NULL); + gdbpy_ref result (PyObject_CallMethod (py_bp, stop_func, NULL)); stop = 1; - if (result) + if (result != NULL) { - int evaluate = PyObject_IsTrue (result); + int evaluate = PyObject_IsTrue (result.get ()); if (evaluate == -1) gdbpy_print_stack (); @@ -819,8 +819,6 @@ gdbpy_breakpoint_cond_says_stop (const struct extension_language_defn *extlang, the Python breakpoint wants GDB to continue. */ if (! evaluate) stop = 0; - - Py_DECREF (result); } else gdbpy_print_stack (); |