gh-95756: Free and NULL-out code caches when needed (GH-98181) · python/cpython@7ec2e27 (original) (raw)

Skip to content

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

Appearance settings

Commit 7ec2e27

File tree

2 files changed

lines changed

2 files changed

lines changed

Original file line number Diff line number Diff line change
@@ -2238,6 +2238,7 @@ _PyStaticCode_Dealloc(PyCodeObject *co)
2238 2238 Py_CLEAR(co->_co_cached->_co_freevars);
2239 2239 Py_CLEAR(co->_co_cached->_co_varnames);
2240 2240 PyMem_Free(co->_co_cached);
2241 +co->_co_cached = NULL;
2241 2242 }
2242 2243 co->co_extra = NULL;
2243 2244 if (co->co_weakreflist != NULL) {
Original file line number Diff line number Diff line change
@@ -651,6 +651,8 @@ add_load_fast_null_checks(PyCodeObject *co)
651 651 Py_CLEAR(co->_co_cached->_co_cellvars);
652 652 Py_CLEAR(co->_co_cached->_co_freevars);
653 653 Py_CLEAR(co->_co_cached->_co_varnames);
654 +PyMem_Free(co->_co_cached);
655 +co->_co_cached = NULL;
654 656 }
655 657 }
656 658