From 1a23c2484ece91d06f75d9ebdaf2ada951c87c82 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Mon, 27 Sep 1999 17:11:52 +0000 Subject: Patch by Tim Peters fixing PR#89: long(+/- infinity) returns nonsense. --- Objects/longobject.c | 5 +++++ 1 file changed, 5 insertions(+) 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; -- cgit v0.12