commit | ca28eba3d3656bab394f846f9357227d227059ec | [log] [tgz] |
---|---|---|
author | Serhiy Storchaka <storchaka@gmail.com> | Tue Dec 01 00:18:23 2015 +0200 |
committer | Serhiy Storchaka <storchaka@gmail.com> | Tue Dec 01 00:18:23 2015 +0200 |
tree | 15142a2f22e2a234ff392af01f3a195d7f65a41e | |
parent | cbbec1c53f4b6fb88b4ae984e69db2d2951cd560 [diff] [blame] |
Fixed reference leak when read truncated pickle.
diff --git a/Modules/_pickle.c b/Modules/_pickle.c index 6ff16bb..c357dcc 100644 --- a/Modules/_pickle.c +++ b/Modules/_pickle.c
@@ -5115,8 +5115,10 @@ return -1; if ((len = _Unpickler_Readline(self, &s)) >= 0) { - if (len < 2) + if (len < 2) { + Py_DECREF(module_name); return bad_readline(); + } class_name = PyUnicode_DecodeASCII(s, len - 1, "strict"); if (class_name != NULL) { cls = find_class(self, module_name, class_name);