[Python-checkins] [3.11] GH-101696: invalidate type version tag in `_PyStaticType_Dealloc` (GH-101697) (#101722)

kumaraditya303 webhook-mailer at python.org
Sat Feb 11 03:30:56 EST 2023


https://github.com/python/cpython/commit/c5c12381b38494ebc2346bb01d3426160e068d35
commit: c5c12381b38494ebc2346bb01d3426160e068d35
branch: 3.11
author: Erlend E. Aasland <erlend.aasland at protonmail.com>
committer: kumaraditya303 <59607654+kumaraditya303 at users.noreply.github.com>
date: 2023-02-11T14:00:42+05:30
summary:

[3.11] GH-101696: invalidate type version tag in `_PyStaticType_Dealloc` (GH-101697) (#101722)

[3.11] GH-101696: invalidate type version tag in `_PyStaticType_Dealloc` (GH-101697).
(cherry picked from commit d9de0792482d2ded364b0c7d2867b97a5da41b12)

Co-authored-by: Kumar Aditya <59607654+kumaraditya303 at users.noreply.github.com>

files:
A Misc/NEWS.d/next/Core and Builtins/2023-02-08-17-13-31.gh-issue-101696.seJhTt.rst
M Objects/typeobject.c

diff --git a/Misc/NEWS.d/next/Core and Builtins/2023-02-08-17-13-31.gh-issue-101696.seJhTt.rst b/Misc/NEWS.d/next/Core and Builtins/2023-02-08-17-13-31.gh-issue-101696.seJhTt.rst
new file mode 100644
index 000000000000..ff2bbb4b5642
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/2023-02-08-17-13-31.gh-issue-101696.seJhTt.rst	
@@ -0,0 +1 @@
+Invalidate type version tag in ``_PyStaticType_Dealloc`` for static types, avoiding bug where a false cache hit could crash the interpreter. Patch by Kumar Aditya.
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index 9ee57105204e..90c6425ffdfe 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -4080,6 +4080,8 @@ _PyStaticType_Dealloc(PyTypeObject *type)
     }
 
     type->tp_flags &= ~Py_TPFLAGS_READY;
+    type->tp_flags &= ~Py_TPFLAGS_VALID_VERSION_TAG;
+    type->tp_version_tag = 0;
 }
 
 



More information about the Python-checkins mailing list