• Victor Stinner's avatar
    Close #18469: Replace PyDict_GetItemString() with _PyDict_GetItemId() in structseq.c · 9ae8dc8e
    Victor Stinner authored
    _PyDict_GetItemId() is more efficient: it only builds the Unicode string once.
    Identifiers (dictionary keys) are now created at Python initialization, and if
    the creation failed, Python does exit with a fatal error.
    
    Before, PyDict_GetItemString() failure was not handled: structseq_new() could
    call PyObject_GC_NewVar() with a negative size, and structseq_dealloc() could
    also crash.
    9ae8dc8e
structseq.c 12.4 KB