| Index: gdb/python/py-signalevent.c
|
| diff --git a/gdb/python/py-signalevent.c b/gdb/python/py-signalevent.c
|
| index 304b847f74fc932e86860b4c68abc3f943721183..1d723f0ff29c58b684070f7d14bf62dd54cae862 100644
|
| --- a/gdb/python/py-signalevent.c
|
| +++ b/gdb/python/py-signalevent.c
|
| @@ -1,6 +1,6 @@
|
| /* Python interface to inferior signal stop events.
|
|
|
| - Copyright (C) 2009-2012 Free Software Foundation, Inc.
|
| + Copyright (C) 2009-2013 Free Software Foundation, Inc.
|
|
|
| This file is part of GDB.
|
|
|
| @@ -17,14 +17,17 @@
|
| You should have received a copy of the GNU General Public License
|
| along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
|
| +#include "defs.h"
|
| #include "py-stopevent.h"
|
|
|
| -static PyTypeObject signal_event_object_type;
|
| +static PyTypeObject signal_event_object_type
|
| + CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("event_object");
|
|
|
| PyObject *
|
| create_signal_event_object (enum gdb_signal stop_signal)
|
| {
|
| const char *signal_name;
|
| + PyObject *signal_name_obj = NULL;
|
| PyObject *signal_event_obj =
|
| create_stop_event_object (&signal_event_object_type);
|
|
|
| @@ -33,16 +36,21 @@ create_signal_event_object (enum gdb_signal stop_signal)
|
|
|
| signal_name = gdb_signal_to_name (stop_signal);
|
|
|
| + signal_name_obj = PyString_FromString (signal_name);
|
| + if (signal_name_obj == NULL)
|
| + goto fail;
|
| if (evpy_add_attribute (signal_event_obj,
|
| "stop_signal",
|
| - PyString_FromString (signal_name)) < 0)
|
| + signal_name_obj) < 0)
|
| goto fail;
|
| + Py_DECREF (signal_name_obj);
|
|
|
| return signal_event_obj;
|
|
|
| - fail:
|
| - Py_XDECREF (signal_event_obj);
|
| - return NULL;
|
| + fail:
|
| + Py_XDECREF (signal_name_obj);
|
| + Py_XDECREF (signal_event_obj);
|
| + return NULL;
|
| }
|
|
|
| GDBPY_NEW_EVENT_TYPE (signal,
|
|
|