Skip to content

Commit

Permalink
GH-101696: invalidate type version tag in _PyStaticType_Dealloc (#1…
Browse files Browse the repository at this point in the history
  • Loading branch information
kumaraditya303 authored Feb 8, 2023
1 parent 2a8bf25 commit d9de079
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -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.
2 changes: 2 additions & 0 deletions Objects/typeobject.c
Original file line number Diff line number Diff line change
Expand Up @@ -4469,6 +4469,8 @@ _PyStaticType_Dealloc(PyTypeObject *type)
}

type->tp_flags &= ~Py_TPFLAGS_READY;
type->tp_flags &= ~Py_TPFLAGS_VALID_VERSION_TAG;
type->tp_version_tag = 0;

if (type->tp_flags & _Py_TPFLAGS_STATIC_BUILTIN) {
_PyStaticType_ClearWeakRefs(type);
Expand Down

0 comments on commit d9de079

Please sign in to comment.