Merged revisions 74189 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r74189 | amaury.forgeotdarc | 2009-07-23 21:26:02 +0200 (jeu., 23 juil. 2009) | 4 lines
#6553: crash in cPickle.load(), when given a StringIO with incomplete data.
Will backport to 2.6, 3.x already fixed a similar issue with issue4298.
........
diff --git a/Modules/cPickle.c b/Modules/cPickle.c
index 1cef5c1..8fa4a66 100644
--- a/Modules/cPickle.c
+++ b/Modules/cPickle.c
@@ -663,6 +663,12 @@
self->last_string = str;
if (! (*s = PyString_AsString(str))) return -1;
+
+ if (PyString_GET_SIZE(str) != n) {
+ PyErr_SetNone(PyExc_EOFError);
+ return -1;
+ }
+
return n;
}