#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 486e86f..a849424 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;
 }