summaryrefslogtreecommitdiffstats
path: root/Objects/floatobject.c
diff options
context:
space:
mode:
Diffstat (limited to 'Objects/floatobject.c')
-rw-r--r--Objects/floatobject.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/Objects/floatobject.c b/Objects/floatobject.c
index cd28349..09406e4 100644
--- a/Objects/floatobject.c
+++ b/Objects/floatobject.c
@@ -629,7 +629,10 @@ float_coerce(PyObject **pv, PyObject **pw)
return 0;
}
else if (PyLong_Check(*pw)) {
- *pw = PyFloat_FromDouble(PyLong_AsDouble(*pw));
+ double x = PyLong_AsDouble(*pw);
+ if (x == -1.0 && PyErr_Occurred())
+ return -1;
+ *pw = PyFloat_FromDouble(x);
Py_INCREF(*pv);
return 0;
}