Hirokazu Yamamoto <[EMAIL PROTECTED]> added the comment:

See trunk/Modules/cPickle.c(609).

static Py_ssize_t
read_cStringIO(Unpicklerobject *self, char **s, Py_ssize_t  n)
{
        char *ptr;

        if (PycStringIO->cread((PyObject *)self->file, &ptr, n) != n) {
                PyErr_SetNone(PyExc_EOFError);
                return -1;
        }

        *s = ptr;

        return n;
}

It's checking the length of returned string and if not match, raises
EOFError. But there is no corresponding code in py3k.

I hope attached patch will fix this issue.

----------
keywords: +patch
nosy: +ocean-city
Added file: 
http://bugs.python.org/file11987/py3k_set_EOFError_when_invalid_result_size.patch

_______________________________________
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue4298>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to