]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
[3.12] gh-104614: Make Sure ob_type is Always Set Correctly by PyType_Ready() (gh...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 1 Jun 2023 23:06:38 +0000 (16:06 -0700)
committerGitHub <noreply@github.com>
Thu, 1 Jun 2023 23:06:38 +0000 (23:06 +0000)
commitd57ee813ebd496a3fd8118d7dc057d54c4af847e
tree0ca49a125b77d250c937925e7405f72fc1cad978
parentd2be5c73ed520fb9d82a395f001eb9001711ed8f
[3.12] gh-104614: Make Sure ob_type is Always Set Correctly by PyType_Ready() (gh-105122) (gh-105211)

When I added the relevant condition to type_ready_set_bases() in gh-103912, I had missed that the function also sets tp_base and ob_type (if necessary).  That led to problems for third-party static types.

We fix that here, by making those extra operations distinct and by adjusting the condition to be more specific.
(cherry picked from commit 1469393)

Co-authored-by: Eric Snow ericsnowcurrently@gmail.com
Lib/test/test_capi/test_misc.py
Modules/_testcapimodule.c
Objects/typeobject.c
Tools/c-analyzer/cpython/ignored.tsv