GH-90699: disallow _Py_IDENTIFIER in core code (GH-99210)

This commit is contained in:
Kumar Aditya 2022-11-09 22:23:21 +05:30 committed by GitHub
parent c03e05c2e7
commit 6e3cc72afe
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 4 deletions

View file

@ -1,7 +1,6 @@
#ifndef Py_BUILD_CORE_MODULE
# define Py_BUILD_CORE_MODULE
#endif
#define NEEDS_PY_IDENTIFIER
/* Always enable assertion (even in release mode) */
#undef NDEBUG
@ -1891,7 +1890,14 @@ static int test_unicode_id_init(void)
{
// bpo-42882: Test that _PyUnicode_FromId() works
// when Python is initialized multiples times.
_Py_IDENTIFIER(test_unicode_id_init);
// This is equivalent to `_Py_IDENTIFIER(test_unicode_id_init)`
// but since `_Py_IDENTIFIER` is disabled when `Py_BUILD_CORE`
// is defined, it is manually expanded here.
static _Py_Identifier PyId_test_unicode_id_init = {
.string = "test_unicode_id_init",
.index = -1,
};
// Initialize Python once without using the identifier
_testembed_Py_InitializeFromConfig();