diff --git a/Parser/asdl_c.py b/Parser/asdl_c.py index b93906ba8d4..6fe44b99f79 100755 --- a/Parser/asdl_c.py +++ b/Parser/asdl_c.py @@ -688,13 +688,14 @@ ast_clear(AST_object *self) static int ast_type_init(PyObject *self, PyObject *args, PyObject *kw) { + astmodulestate *state = get_global_ast_state(); + if (state == NULL) { + return -1; + } + Py_ssize_t i, numfields = 0; int res = -1; PyObject *key, *value, *fields; - astmodulestate *state = get_global_ast_state(); - if (state == NULL) { - goto cleanup; - } if (_PyObject_LookupAttr((PyObject*)Py_TYPE(self), state->_fields, &fields) < 0) { goto cleanup; } diff --git a/Python/Python-ast.c b/Python/Python-ast.c index b81b282a039..396a6832702 100644 --- a/Python/Python-ast.c +++ b/Python/Python-ast.c @@ -1140,13 +1140,14 @@ ast_clear(AST_object *self) static int ast_type_init(PyObject *self, PyObject *args, PyObject *kw) { + astmodulestate *state = get_global_ast_state(); + if (state == NULL) { + return -1; + } + Py_ssize_t i, numfields = 0; int res = -1; PyObject *key, *value, *fields; - astmodulestate *state = get_global_ast_state(); - if (state == NULL) { - goto cleanup; - } if (_PyObject_LookupAttr((PyObject*)Py_TYPE(self), state->_fields, &fields) < 0) { goto cleanup; }