summaryrefslogtreecommitdiffstats
path: root/Modules/mathmodule.c
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/mathmodule.c')
-rw-r--r--Modules/mathmodule.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/Modules/mathmodule.c b/Modules/mathmodule.c
index abf1d5b..bb4f1e8 100644
--- a/Modules/mathmodule.c
+++ b/Modules/mathmodule.c
@@ -80,7 +80,9 @@ math_1(args, func)
if (! PyArg_Parse(args, "d", &x))
return NULL;
errno = 0;
+ PyFPE_START_PROTECT("in math_1", return 0)
x = (*func)(x);
+ PyFPE_END_PROTECT
CHECK(x);
if (errno != 0)
return math_error();
@@ -97,7 +99,9 @@ math_2(args, func)
if (! PyArg_Parse(args, "(dd)", &x, &y))
return NULL;
errno = 0;
+ PyFPE_START_PROTECT("in math_2", return 0)
x = (*func)(x, y);
+ PyFPE_END_PROTECT
CHECK(x);
if (errno != 0)
return math_error();
@@ -173,7 +177,9 @@ math_ldexp(self, args)
if (! PyArg_Parse(args, "(dd)", &x, &y))
return NULL;
errno = 0;
+ PyFPE_START_PROTECT("ldexp", return 0)
x = ldexp(x, (int)y);
+ PyFPE_END_PROTECT
CHECK(x);
if (errno != 0)
return math_error();