diff options
| author | Steven Hiscocks <steven@hiscocks.me.uk> | 2013-02-17 14:27:59 +0000 |
|---|---|---|
| committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2015-07-05 14:19:16 -0400 |
| commit | 82ff2498de678de19076bb3f3cf34de210164c0f (patch) | |
| tree | ce072bd7436f84409d0d26678919da2a49492e4e | |
| parent | 3813a8ab261dbab1b9667323b53cac01db11df4e (diff) | |
| download | python-systemd-82ff2498de678de19076bb3f3cf34de210164c0f.tar.gz | |
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
| -rw-r--r-- | systemd/_reader.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/systemd/_reader.c b/systemd/_reader.c index 70676ac..b754014 100644 --- a/systemd/_reader.c +++ b/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; |
