Commit 76464494 authored by Mark Dickinson's avatar Mark Dickinson

Fix math.factorial KeyboardInterrupt segfault. Thanks Amaury for report and diagnosis.

parent 837cd06d
...@@ -132,6 +132,9 @@ Core and Builtins ...@@ -132,6 +132,9 @@ Core and Builtins
Library Library
------- -------
- Issue #16305: Fix a segmentation fault occurring when interrupting
math.factorial.
- Issue #14398: Fix size truncation and overflow bugs in the bz2 module. - Issue #14398: Fix size truncation and overflow bugs in the bz2 module.
- Issue #16220: wsgiref now always calls close() on an iterable response. - Issue #16220: wsgiref now always calls close() on an iterable response.
......
...@@ -1330,14 +1330,13 @@ factorial_odd_part(unsigned long n) ...@@ -1330,14 +1330,13 @@ factorial_odd_part(unsigned long n)
Py_DECREF(outer); Py_DECREF(outer);
outer = tmp; outer = tmp;
} }
Py_DECREF(inner);
goto done; return outer;
error: error:
Py_DECREF(outer); Py_DECREF(outer);
done:
Py_DECREF(inner); Py_DECREF(inner);
return outer; return NULL;
} }
/* Lookup table for small factorial values */ /* Lookup table for small factorial values */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment