[ 1180997 ] lax error-checking in new-in-2.4 marshal stuff

which I'd assigned to Martin, but actually turned out to be easy to fix.

Also, a test.
This commit is contained in:
Michael W. Hudson 2005-06-13 18:28:46 +00:00
parent 01fca11080
commit f2ca5af439
2 changed files with 13 additions and 0 deletions

View file

@ -648,6 +648,10 @@ r_object(RFILE *p)
case TYPE_STRINGREF:
n = r_long(p);
if (n < 0 || n >= PyList_GET_SIZE(p->strings)) {
PyErr_SetString(PyExc_ValueError, "bad marshal data");
return NULL;
}
v = PyList_GET_ITEM(p->strings, n);
Py_INCREF(v);
return v;