bpo-38823: Fix refleaks in faulthandler init error path on Windows (GH-17250)

(cherry picked from commit ac2235432c)

Co-authored-by: Brandt Bucher <brandtbucher@gmail.com>
This commit is contained in:
Miss Islington (bot) 2019-11-19 15:31:08 -08:00 committed by GitHub
parent 829593a926
commit a5ed2fe0ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 21 additions and 10 deletions

View File

@ -1276,25 +1276,36 @@ PyInit_faulthandler(void)
#ifdef MS_WINDOWS
/* RaiseException() codes (prefixed by an underscore) */
if (PyModule_AddIntConstant(m, "_EXCEPTION_ACCESS_VIOLATION",
EXCEPTION_ACCESS_VIOLATION))
return NULL;
EXCEPTION_ACCESS_VIOLATION)) {
goto error;
}
if (PyModule_AddIntConstant(m, "_EXCEPTION_INT_DIVIDE_BY_ZERO",
EXCEPTION_INT_DIVIDE_BY_ZERO))
return NULL;
EXCEPTION_INT_DIVIDE_BY_ZERO)) {
goto error;
}
if (PyModule_AddIntConstant(m, "_EXCEPTION_STACK_OVERFLOW",
EXCEPTION_STACK_OVERFLOW))
return NULL;
EXCEPTION_STACK_OVERFLOW)) {
goto error;
}
/* RaiseException() flags (prefixed by an underscore) */
if (PyModule_AddIntConstant(m, "_EXCEPTION_NONCONTINUABLE",
EXCEPTION_NONCONTINUABLE))
return NULL;
EXCEPTION_NONCONTINUABLE)) {
goto error;
}
if (PyModule_AddIntConstant(m, "_EXCEPTION_NONCONTINUABLE_EXCEPTION",
EXCEPTION_NONCONTINUABLE_EXCEPTION))
return NULL;
EXCEPTION_NONCONTINUABLE_EXCEPTION)) {
goto error;
}
#endif
return m;
#ifdef MS_WINDOWS
error:
Py_DECREF(m);
return NULL;
#endif
}
static int