SIGN IN SIGN UP
python / cpython UNCLAIMED

The Python programming language

0 0 117 Python

bpo-40071: Fix potential crash in _functoolsmodule.c (GH-19273)

Changes on 7dd549eb0893 made _functools compatible with
PEP-489 and we could have multiple modules instances loaded.

But, right now there is no way to make `kwd_mark` global into
a per module instance variable. kwd_mark is used on lru_cache_new
which does not have a reference to a PyModule*, necessary to use
PyModule_GetState.

PEP-573 will solve this problem and will allow us to move the global
state to per-module data and properly clear the state when unloading
a module instance.

This change temporarily disable cleaning of kwd_mark to avoid NULL
pointer dereference if we clear kwd_mark and other module instances
still alive use it.
P
Paulo Henrique Silva committed
eacc07439591c97f69ab4a3d17391b009cd78ae2
Parent: 00002e6
Committed by GitHub <noreply@github.com> on 4/1/2020, 3:06:21 PM