]> granicus.if.org Git - python/commitdiff
Fixed reference leak when read truncated pickle.
authorSerhiy Storchaka <storchaka@gmail.com>
Mon, 30 Nov 2015 22:32:49 +0000 (00:32 +0200)
committerSerhiy Storchaka <storchaka@gmail.com>
Mon, 30 Nov 2015 22:32:49 +0000 (00:32 +0200)
Modules/cPickle.c

index e1959613e18b06792e6880d3630fd4b5ab15be7a..ce9283a4f5e2a92aac76f0bc9aa65820afb60e95 100644 (file)
@@ -3969,7 +3969,10 @@ load_inst(Unpicklerobject *self)
     if (!module_name)  return -1;
 
     if ((len = self->readline_func(self, &s)) >= 0) {
-        if (len < 2) return bad_readline();
+        if (len < 2) {
+            Py_DECREF(module_name);
+            return bad_readline();
+        }
         if ((class_name = PyString_FromStringAndSize(s, len - 1))) {
             class = find_class(module_name, class_name,
                                self->find_class);