From cfa7123ef108452dd402e3cdcec772be28872e2f Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Fri, 8 Apr 2011 12:48:15 +0200 Subject: [PATCH] faulthandler: fix unregister() if it is called before register() Fix a crash: don't read from NULL. --- Doc/library/faulthandler.rst | 3 ++- Modules/faulthandler.c | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Doc/library/faulthandler.rst b/Doc/library/faulthandler.rst index 106da45b4ce2..c0b662502f48 100644 --- a/Doc/library/faulthandler.rst +++ b/Doc/library/faulthandler.rst @@ -97,7 +97,8 @@ Dump the traceback on a user signal .. function:: unregister(signum) Unregister a user signal: uninstall the handler of the *signum* signal - installed by :func:`register`. + installed by :func:`register`. Return ``True`` if the signal was registered, + ``False`` otherwise. Not available on Windows. diff --git a/Modules/faulthandler.c b/Modules/faulthandler.c index 76cadf382c54..113203692cc6 100644 --- a/Modules/faulthandler.c +++ b/Modules/faulthandler.c @@ -694,6 +694,9 @@ faulthandler_unregister_py(PyObject *self, PyObject *args) if (!check_signum(signum)) return NULL; + if (user_signals == NULL) + Py_RETURN_FALSE; + user = &user_signals[signum]; change = faulthandler_unregister(user, signum); return PyBool_FromLong(change); -- 2.47.3