gh-95756: Free and NULL-out code caches when needed (GH-98181) · python/cpython@7ec2e27 (original) (raw)
Navigation Menu
- Explore
- Pricing
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
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 |