[Python-checkins] cpython: Fix _PyTime_AsTimevalStruct_impl() on OpenBSD

victor.stinner python-checkins at python.org
Thu Oct 1 08:44:41 CEST 2015


https://hg.python.org/cpython/rev/33a5ab6c578a
changeset: 98445:33a5ab6c578a
user: Victor Stinner <victor.stinner at gmail.com>
date: Thu Oct 01 08:44:03 2015 +0200
summary:
 Fix _PyTime_AsTimevalStruct_impl() on OpenBSD
On the x86 OpenBSD 5.8 buildbot, the integer overflow check is ignored. Copy
the tv_sec variable into a Py_time_t variable instead of "simply" casting it to
Py_time_t, to fix the integer overflow check.
files:
 Python/pytime.c | 5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/Python/pytime.c b/Python/pytime.c
--- a/Python/pytime.c
+++ b/Python/pytime.c
@@ -454,7 +454,7 @@
 _PyTime_AsTimevalStruct_impl(_PyTime_t t, struct timeval *tv,
 _PyTime_round_t round, int raise)
 {
- _PyTime_t secs;
+ _PyTime_t secs, secs2;
 int us;
 int res;
 
@@ -467,7 +467,8 @@
 #endif
 tv->tv_usec = us;
 
- if (res < 0 || (_PyTime_t)tv->tv_sec != secs) {
+ secs2 = (_PyTime_t)tv->tv_sec;
+ if (res < 0 || secs2 != secs) {
 if (raise)
 error_time_t_overflow();
 return -1;
-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /