From 4c82b2366ff2eb38f062fc5da1b15ddd1c01fa4b Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Fri, 30 Jun 2000 16:18:57 +0000 Subject: Trent Mick : 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 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Python/getmtime.c') diff --git a/Python/getmtime.c b/Python/getmtime.c index 4bf2adfaa4..aea69094c8 100644 --- a/Python/getmtime.c +++ b/Python/getmtime.c @@ -33,13 +33,14 @@ PERFORMANCE OF THIS SOFTWARE. /* (A separate file because this may be OS dependent) */ +#include "Python.h" #include "config.h" #include #include #include -long +time_t PyOS_GetLastModificationTime(path, fp) char *path; FILE *fp; -- cgit v1.2.1