mirror of
https://github.com/python/cpython.git
synced 2025-09-26 10:19:53 +00:00
gh-120198: Fix race condition when editing __class__ with an audit hook active (GH-120195)
Co-authored-by: Nadeshiko Manju <me@manjusaka.me>
This commit is contained in:
parent
0315fdc24d
commit
e8a9f0c9e7
3 changed files with 37 additions and 2 deletions
|
@ -5709,7 +5709,6 @@ differs:
|
|||
static int
|
||||
object_set_class(PyObject *self, PyObject *value, void *closure)
|
||||
{
|
||||
PyTypeObject *oldto = Py_TYPE(self);
|
||||
|
||||
if (value == NULL) {
|
||||
PyErr_SetString(PyExc_TypeError,
|
||||
|
@ -5729,6 +5728,8 @@ object_set_class(PyObject *self, PyObject *value, void *closure)
|
|||
return -1;
|
||||
}
|
||||
|
||||
PyTypeObject *oldto = Py_TYPE(self);
|
||||
|
||||
/* In versions of CPython prior to 3.5, the code in
|
||||
compatible_for_assignment was not set up to correctly check for memory
|
||||
layout / slot / etc. compatibility for non-HEAPTYPE classes, so we just
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue