[ 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.
This commit is contained in:
Michael W. Hudson 2005-07-05 15:21:58 +00:00
parent 0257424a2a
commit b89638148b
2 changed files with 5 additions and 0 deletions

View File

@ -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.

View File

@ -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)