summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Misc/NEWS3
-rw-r--r--Modules/mathmodule.c7
2 files changed, 6 insertions, 4 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index 07ba29f..da227f7 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -879,6 +879,9 @@ Core and Builtins
Library
-------
+- Issue #16305: Fix a segmentation fault occurring when interrupting
+ math.factorial.
+
- Issue #9803: Don't close IDLE on saving if breakpoint is open.
Patch by Roger Serwy.
diff --git a/Modules/mathmodule.c b/Modules/mathmodule.c
index d693da1..3fa52d0 100644
--- a/Modules/mathmodule.c
+++ b/Modules/mathmodule.c
@@ -1381,14 +1381,13 @@ factorial_odd_part(unsigned long n)
Py_DECREF(outer);
outer = tmp;
}
-
- goto done;
+ Py_DECREF(inner);
+ return outer;
error:
Py_DECREF(outer);
- done:
Py_DECREF(inner);
- return outer;
+ return NULL;
}
/* Lookup table for small factorial values */