diff options
-rw-r--r-- | Misc/NEWS | 2 | ||||
-rw-r--r-- | Modules/_pickle.c | 2 |
2 files changed, 4 insertions, 0 deletions
@@ -22,6 +22,8 @@ Core and Builtins Library ------- +- Issue #4373: Corrected a potential reference leak in the pickle module. + - Issue #4382: dbm.dumb did not specify the expected file encoding for opened files. diff --git a/Modules/_pickle.c b/Modules/_pickle.c index c1facd8..a0810b9 100644 --- a/Modules/_pickle.c +++ b/Modules/_pickle.c @@ -486,11 +486,13 @@ unpickler_read(UnpicklerObject *self, char **s, Py_ssize_t n) PyErr_SetString(PyExc_ValueError, "read() from the underlying stream did not" "return bytes"); + Py_DECREF(data); return -1; } if (PyBytes_GET_SIZE(data) != n) { PyErr_SetNone(PyExc_EOFError); + Py_DECREF(data); return -1; } |