STINNER Victor added the comment:

Here is a work-in-progress patch.

PyMarshal_ReadShortFromFile() and PyMarshal_ReadLongFromFile() are still wrong: 
new Unsigned version should be added to marshal.c. I don't know if a C cast to 
unsigned is enough because long can be larger than 32-bit (ex: on Linux 64-bit):
#if SIZEOF_LONG > 4
        /* Sign extension for 64-bit machines */
        x |= -(x & 0x80000000L);
#endif

I didn't test my patch. Anyone interested to finish the patch?

----------
Added file: http://bugs.python.org/file33044/zipimport_int_overflow.patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue19883>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to