From 27ca1a5b081f313daa1d06190b12abbe645da583 Mon Sep 17 00:00:00 2001 From: Phil Muldoon Date: Thu, 20 Oct 2011 13:34:17 +0000 Subject: [PATCH] 2011-10-20 Phil Muldoon PR python/13308 PR python/13309 * python/py-breakpoint.c (gdbpy_breakpoints): Fix List reference leak. * python/py-inferior.c (gdbpy_inferiors): Fix List reference leak. Delete unused variables. --- gdb/ChangeLog | 10 ++++++++++ gdb/python/py-breakpoint.c | 7 +++++-- gdb/python/py-inferior.c | 9 +++++---- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 154aee51103..c9d5b26bed8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,13 @@ +2011-10-20 Phil Muldoon + + PR python/13308 + PR python/13309 + + * python/py-breakpoint.c (gdbpy_breakpoints): Fix List reference + leak. + * python/py-inferior.c (gdbpy_inferiors): Fix List reference + leak. Delete unused variables. + 2011-10-20 Phil Muldoon PR python/12656 diff --git a/gdb/python/py-breakpoint.c b/gdb/python/py-breakpoint.c index 87265e269f3..daceb99d85e 100644 --- a/gdb/python/py-breakpoint.c +++ b/gdb/python/py-breakpoint.c @@ -697,7 +697,7 @@ build_bp_list (struct breakpoint *b, void *arg) PyObject * gdbpy_breakpoints (PyObject *self, PyObject *args) { - PyObject *list; + PyObject *list, *tuple; if (bppy_live == 0) Py_RETURN_NONE; @@ -715,7 +715,10 @@ gdbpy_breakpoints (PyObject *self, PyObject *args) return NULL; } - return PyList_AsTuple (list); + tuple = PyList_AsTuple (list); + Py_DECREF (list); + + return tuple; } /* Call the "stop" method (if implemented) in the breakpoint diff --git a/gdb/python/py-inferior.c b/gdb/python/py-inferior.c index afc3eb0c995..d6086dc9dc1 100644 --- a/gdb/python/py-inferior.c +++ b/gdb/python/py-inferior.c @@ -377,9 +377,7 @@ build_inferior_list (struct inferior *inf, void *arg) PyObject * gdbpy_inferiors (PyObject *unused, PyObject *unused2) { - int i = 0; - PyObject *list, *inferior; - struct inferior *inf; + PyObject *list, *tuple; list = PyList_New (0); if (!list) @@ -391,7 +389,10 @@ gdbpy_inferiors (PyObject *unused, PyObject *unused2) return NULL; } - return PyList_AsTuple (list); + tuple = PyList_AsTuple (list); + Py_DECREF (list); + + return tuple; } /* Membuf and memory manipulation. */ -- 2.30.2