diff options
author | Guido van Rossum <guido@python.org> | 1999-09-27 17:11:52 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1999-09-27 17:11:52 (GMT) |
commit | 1a23c2484ece91d06f75d9ebdaf2ada951c87c82 (patch) | |
tree | 3c8483c25d1939d013949a3b15b0eee79e199489 /Objects/longobject.c | |
parent | a840fca15590f2369bb5381be86d13ce12563f73 (diff) | |
download | cpython-1a23c2484ece91d06f75d9ebdaf2ada951c87c82.zip cpython-1a23c2484ece91d06f75d9ebdaf2ada951c87c82.tar.gz cpython-1a23c2484ece91d06f75d9ebdaf2ada951c87c82.tar.bz2 |
Patch by Tim Peters fixing PR#89:
long(+/- infinity) returns nonsense.
Diffstat (limited to 'Objects/longobject.c')
-rw-r--r-- | Objects/longobject.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Objects/longobject.c b/Objects/longobject.c index 7c805a5..9f605a1 100644 --- a/Objects/longobject.c +++ b/Objects/longobject.c @@ -145,6 +145,11 @@ PyLong_FromDouble(dval) double frac; int i, ndig, expo, neg; neg = 0; + if (dval && dval * 0.5 == dval) { + PyErr_SetString(PyExc_OverflowError, + "cannot convert float infinity to long"); + return NULL; + } if (dval < 0.0) { neg = 1; dval = -dval; |