GH-102397: Fix segfault from race condition in signal handling (#102399)

Co-authored-by: Gregory P. Smith <greg@krypto.org>
This commit is contained in:
Kumar Aditya 2023-03-08 13:29:39 +05:30 committed by GitHub
parent 061325e0d2
commit 1a84cc007e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 21 additions and 0 deletions

View file

@ -148,6 +148,10 @@ get_signal_state(PyObject *module)
static inline int
compare_handler(PyObject *func, PyObject *dfl_ign_handler)
{
// See https://github.com/python/cpython/pull/102399
if (func == NULL || dfl_ign_handler == NULL) {
return 0;
}
assert(PyLong_CheckExact(dfl_ign_handler));
if (!PyLong_CheckExact(func)) {
return 0;