From 764123e402e5f69fff1519b16150bc0e710f470c Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 20 May 2013 20:12:04 +0000 Subject: [PATCH] * python/py-function.c (fnpy_init): Decref result of PyObject_GetAttrString. --- gdb/ChangeLog | 5 +++++ gdb/python/py-function.c | 16 +++++++++++----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b4fb20c59f5..443adafb992 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2013-05-20 Tom Tromey + + * python/py-function.c (fnpy_init): Decref result of + PyObject_GetAttrString. + 2013-05-20 Tom Tromey * python/py-threadevent.c (get_event_thread): Use diff --git a/gdb/python/py-function.c b/gdb/python/py-function.c index e2ba19fce39..395eeda9ad3 100644 --- a/gdb/python/py-function.c +++ b/gdb/python/py-function.c @@ -175,14 +175,20 @@ fnpy_init (PyObject *self, PyObject *args, PyObject *kwds) if (PyObject_HasAttrString (self, "__doc__")) { PyObject *ds_obj = PyObject_GetAttrString (self, "__doc__"); - if (ds_obj && gdbpy_is_string (ds_obj)) + if (ds_obj != NULL) { - docstring = python_string_to_host_string (ds_obj); - if (docstring == NULL) + if (gdbpy_is_string (ds_obj)) { - Py_DECREF (self); - return -1; + docstring = python_string_to_host_string (ds_obj); + if (docstring == NULL) + { + Py_DECREF (self); + Py_DECREF (ds_obj); + return -1; + } } + + Py_DECREF (ds_obj); } } if (! docstring) -- 2.30.2