summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Misc/NEWS2
-rw-r--r--Modules/_pickle.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index bc127e7..50a3331 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -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;
}