From: Steven Hiscocks Date: Sun, 17 Feb 2013 14:27:59 +0000 (+0000) Subject: systemd-python: fix memory leak in _reader and minor bugs X-Git-Tag: v198~140^2~17 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=6d0c634ca32c772c72b0bb4207866e2a35f4eadb systemd-python: fix memory leak in _reader and minor bugs iternext now checks for error from get_next, and changed a DECREF to XDECREF rather than NULL check --- diff --git a/src/python-systemd/_reader.c b/src/python-systemd/_reader.c index 70676acec..b754014e9 100644 --- a/src/python-systemd/_reader.c +++ b/src/python-systemd/_reader.c @@ -326,8 +326,7 @@ Journal_seek(Journal *self, PyObject *args, PyObject *keywds) PyErr_SetString(PyExc_ValueError, "Invalid value for whence"); } - if (result) - Py_DECREF(result); + Py_XDECREF(result); if (PyErr_Occurred()) return NULL; Py_RETURN_NONE; @@ -498,6 +497,8 @@ Journal_iternext(PyObject *self) Py_ssize_t dict_size; dict = PyObject_CallMethod(self, "get_next", ""); + if (PyErr_Occurred()) + return NULL; dict_size = PyDict_Size(dict); if ((int64_t) dict_size > 0LL) { return dict;