]> granicus.if.org Git - python/commit
Trent Mick <trentm@activestate.com>:
authorFred Drake <fdrake@acm.org>
Fri, 30 Jun 2000 16:18:57 +0000 (16:18 +0000)
committerFred Drake <fdrake@acm.org>
Fri, 30 Jun 2000 16:18:57 +0000 (16:18 +0000)
commit4c82b2366ff2eb38f062fc5da1b15ddd1c01fa4b
tree9706525a1647754a3d5aed1ba183b4544acaaebe
parent4358b2c928e756a77613da7cb8c57676e8872935
Trent Mick <trentm@activestate.com>:

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)

Closes SourceForge patch #100509.
Python/getmtime.c
Python/import.c