diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2015-06-23 14:31:11 +0200 |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2015-06-23 14:31:11 +0200 |
commit | 6bc217dd3d43763e62b413e75ddaeb7d30e1b451 (patch) | |
tree | 4880bdc14041619332c3a6bd76b9a2b9fed1005b /Modules/cmathmodule.c | |
parent | 03863d2b290d0856d7647a0275a73b55b6589fa7 (diff) | |
download | cpython-git-6bc217dd3d43763e62b413e75ddaeb7d30e1b451.tar.gz |
Issue #24489: ensure a previously set C errno doesn't disturb cmath.polar().
Diffstat (limited to 'Modules/cmathmodule.c')
-rw-r--r-- | Modules/cmathmodule.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Modules/cmathmodule.c b/Modules/cmathmodule.c index eb2853cedd..b341c343e1 100644 --- a/Modules/cmathmodule.c +++ b/Modules/cmathmodule.c @@ -941,9 +941,10 @@ cmath_polar(PyObject *self, PyObject *args) double r, phi; if (!PyArg_ParseTuple(args, "D:polar", &z)) return NULL; + errno = 0; PyFPE_START_PROTECT("polar function", return 0) phi = c_atan2(z); /* should not cause any exception */ - r = c_abs(z); /* sets errno to ERANGE on overflow; otherwise 0 */ + r = c_abs(z); /* sets errno to ERANGE on overflow */ PyFPE_END_PROTECT(r) if (errno != 0) return math_error(); |