--- /dev/null
+Fix reference leaks in various unusual error scenarios.
}
if (PySys_Audit("cpython.run_interactivehook", "O", hook) < 0) {
+ Py_DECREF(hook);
goto error;
}
if (print_exception_fn == NULL || !PyCallable_Check(print_exception_fn)) {
Py_DECREF(traceback_module);
+ Py_XDECREF(print_exception_fn);
goto fallback;
}
PyObject *realVersion = _sys_getwindowsversion_from_kernel32();
if (!realVersion) {
if (!PyErr_ExceptionMatches(PyExc_WindowsError)) {
- return NULL;
+ goto error;
}
PyErr_Clear();