Message32707
This patch fixes possible overflow in the use of PyOS_GetLastModificationTime
in getmtime.c and Python/import.c.
Currently PyOS_GetLastModificationTime returns a C long. This can overflow on
Win64 where sizeof(time_t) > sizeof(long). Besides it should logically return
a time_t anyway (this patch changes this).
As well, import.c uses PyOS_GetLastModificationTime for .pyc timestamping.
There has been recent discussion about the .pyc header format on python-dev.
This patch adds oveflow checking to import.c so that an exception will be
raised if the modification time overflows. There are a few other minor 64-bit
readiness changes made to the module as well:
- size_t instead of int or long for function-local buffer and string length
variables
- one buffer overflow check was added (raises an exception on possible
overflow, this overflow chance exists on 32-bit platforms as well), no
other possible buffer overflows existed (from my analysis anyway)
|
|
Date |
User |
Action |
Args |
2007-08-23 14:59:27 | admin | link | issue400509 messages |
2007-08-23 14:59:27 | admin | create | |
|