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.
This commit is contained in:
parent
0257424a2a
commit
b89638148b
@ -12,6 +12,9 @@ What's New in Python 2.5 alpha 1?
|
|||||||
Core and builtins
|
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
|
- SF bug #1224347: hex longs now print with lowercase letters just
|
||||||
like their int counterparts.
|
like their int counterparts.
|
||||||
|
|
||||||
|
@ -1991,6 +1991,8 @@ extract_time(PyObject *t, long* sec, long* usec)
|
|||||||
return -1;
|
return -1;
|
||||||
intval = PyInt_AsLong(intobj);
|
intval = PyInt_AsLong(intobj);
|
||||||
Py_DECREF(intobj);
|
Py_DECREF(intobj);
|
||||||
|
if (intval == -1 && PyErr_Occurred())
|
||||||
|
return -1;
|
||||||
*sec = intval;
|
*sec = intval;
|
||||||
*usec = (long)((tval - intval) * 1e6); /* can't exceed 1000000 */
|
*usec = (long)((tval - intval) * 1e6); /* can't exceed 1000000 */
|
||||||
if (*usec < 0)
|
if (*usec < 0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user