bpo-46417: _PyList_Fini() clears indexerr (GH-30815)

_PyList_Fini() now clears the 'indexerr' error message.
This commit is contained in:
Victor Stinner 2022-01-23 02:20:44 +01:00 committed by GitHub
parent bcacab47bf
commit 976dec9b3b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 2 deletions

View File

@ -15,6 +15,8 @@ class list "PyListObject *" "&PyList_Type"
#include "clinic/listobject.c.h"
static PyObject *indexerr = NULL;
#if PyList_MAXFREELIST > 0
static struct _Py_list_state *
get_list_state(void)
@ -123,6 +125,10 @@ _PyList_Fini(PyInterpreterState *interp)
struct _Py_list_state *state = &interp->list;
state->numfree = -1;
#endif
if (_Py_IsMainInterpreter(interp)) {
Py_CLEAR(indexerr);
}
}
/* Print summary info about the state of the optimized allocator */
@ -224,8 +230,6 @@ valid_index(Py_ssize_t i, Py_ssize_t limit)
return (size_t) i < (size_t) limit;
}
static PyObject *indexerr = NULL;
PyObject *
PyList_GetItem(PyObject *op, Py_ssize_t i)
{