]> granicus.if.org Git - python/commitdiff
#4373: Reference leak in the pickle module.
authorAmaury Forgeot d'Arc <amauryfa@gmail.com>
Tue, 25 Nov 2008 21:11:54 +0000 (21:11 +0000)
committerAmaury Forgeot d'Arc <amauryfa@gmail.com>
Tue, 25 Nov 2008 21:11:54 +0000 (21:11 +0000)
Reviewed by Brett Cannon.

Misc/NEWS
Modules/_pickle.c

index bc127e70a1a841092ede6c20760e480248366da6..50a33315644f06182db4ba14055cc0bdf942bfd0 100644 (file)
--- 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.
 
index c1facd8381398687425ac4254bf165b2e6ee2f54..a0810b99a9f9086315c7e9ebd457403e7d7b9509 100644 (file)
@@ -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;
     }