From: Michael W. Hudson Date: Tue, 5 Jul 2005 15:21:58 +0000 (+0000) Subject: Fix bug X-Git-Tag: v2.5a0~1611 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b89638148b95c4a018fc8f6c4938ffcd0e1b341a;p=python Fix bug [ 1232517 ] OverflowError in time.utime() causes strange traceback A needed error check was missing. (Actually, this error check may only have become necessary in fairly recent Python, not sure). Backport candidate. --- diff --git a/Misc/NEWS b/Misc/NEWS index bcc696ae97..b3a56b0a3c 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -12,6 +12,9 @@ What's New in Python 2.5 alpha 1? Core and builtins ----------------- +- SF bug #1232517: An overflow error was not detected properly when + attempting to convert a large float to an int in os.utime(). + - SF bug #1224347: hex longs now print with lowercase letters just like their int counterparts. diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index e4a0200f04..e0c2b7f4f9 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -1991,6 +1991,8 @@ extract_time(PyObject *t, long* sec, long* usec) return -1; intval = PyInt_AsLong(intobj); Py_DECREF(intobj); + if (intval == -1 && PyErr_Occurred()) + return -1; *sec = intval; *usec = (long)((tval - intval) * 1e6); /* can't exceed 1000000 */ if (*usec < 0)