mirror of https://github.com/python/cpython
gh-95756: Free and NULL-out code caches when needed (GH-98181)
This commit is contained in:
parent
4067c6d7fe
commit
7ec2e279fe
|
@ -2238,6 +2238,7 @@ _PyStaticCode_Dealloc(PyCodeObject *co)
|
||||||
Py_CLEAR(co->_co_cached->_co_freevars);
|
Py_CLEAR(co->_co_cached->_co_freevars);
|
||||||
Py_CLEAR(co->_co_cached->_co_varnames);
|
Py_CLEAR(co->_co_cached->_co_varnames);
|
||||||
PyMem_Free(co->_co_cached);
|
PyMem_Free(co->_co_cached);
|
||||||
|
co->_co_cached = NULL;
|
||||||
}
|
}
|
||||||
co->co_extra = NULL;
|
co->co_extra = NULL;
|
||||||
if (co->co_weakreflist != NULL) {
|
if (co->co_weakreflist != NULL) {
|
||||||
|
|
|
@ -651,6 +651,8 @@ add_load_fast_null_checks(PyCodeObject *co)
|
||||||
Py_CLEAR(co->_co_cached->_co_cellvars);
|
Py_CLEAR(co->_co_cached->_co_cellvars);
|
||||||
Py_CLEAR(co->_co_cached->_co_freevars);
|
Py_CLEAR(co->_co_cached->_co_freevars);
|
||||||
Py_CLEAR(co->_co_cached->_co_varnames);
|
Py_CLEAR(co->_co_cached->_co_varnames);
|
||||||
|
PyMem_Free(co->_co_cached);
|
||||||
|
co->_co_cached = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue