The BLAKE-2 internal states are initialized after PyObject_GC_Track is called. If unlucky, we would call py_blake2_clear on uninitialized states since PyObject_GC_New is used (we want to first initialize the objects entirely before tracking them but some fields depend on the type so we can't use zeroing as is).
Activity
gh-155830: properly initialize BLAKE-2 objects before GC tracking (#1…
[3.15] gh-155830: properly initialize BLAKE-2 objects before GC track…
[3.14] gh-155830: properly initialize BLAKE-2 objects before GC track…