From: Michael Felt Date: Fri, 7 Feb 2020 17:56:16 +0000 (+0100) Subject: bpo-39502: Fix 64-bit Python PyTime_localtime() on AIX (GH-18285) X-Git-Tag: v3.9.0a4~102 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=de6f38db4859f7b8fe4da4556f06c52675fff24a;p=thirdparty%2FPython%2Fcpython.git bpo-39502: Fix 64-bit Python PyTime_localtime() on AIX (GH-18285) Fix time.localtime() on 64-bit AIX to support years before 1902 and after 2038. --- diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-01-30-14-36-31.bpo-39502.IJu0rl.rst b/Misc/NEWS.d/next/Core and Builtins/2020-01-30-14-36-31.bpo-39502.IJu0rl.rst new file mode 100644 index 000000000000..93b3639c80c5 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2020-01-30-14-36-31.bpo-39502.IJu0rl.rst @@ -0,0 +1,2 @@ +Fix :func:`time.localtime` on 64-bit AIX to support years before 1902 and after 2038. +Patch by M Felt. diff --git a/Python/pytime.c b/Python/pytime.c index 54ddfc952b81..9b2b74af5c04 100644 --- a/Python/pytime.c +++ b/Python/pytime.c @@ -1059,7 +1059,7 @@ _PyTime_localtime(time_t t, struct tm *tm) return 0; #else /* !MS_WINDOWS */ -#ifdef _AIX +#if defined(_AIX) && (SIZEOF_TIME_T < 8) /* bpo-34373: AIX does not return NULL if t is too small or too large */ if (t < -2145916800 /* 1902-01-01 */ || t > 2145916800 /* 2038-01-01 */) {