[3.9] Backport GH-20440: Set p->error_indicator in more places (GH-20457)
diff --git a/Parser/pegen/pegen.c b/Parser/pegen/pegen.c
index b858b6b..6608fd8 100644
--- a/Parser/pegen/pegen.c
+++ b/Parser/pegen/pegen.c
@@ -808,10 +808,12 @@
}
char* s = PyBytes_AsString(t->bytes);
if (!s) {
+ p->error_indicator = 1;
return NULL;
}
PyObject *id = _PyPegen_new_identifier(p, s);
if (id == NULL) {
+ p->error_indicator = 1;
return NULL;
}
return Name(id, Load, t->lineno, t->col_offset, t->end_lineno, t->end_col_offset,
@@ -904,6 +906,7 @@
char *num_raw = PyBytes_AsString(t->bytes);
if (num_raw == NULL) {
+ p->error_indicator = 1;
return NULL;
}
@@ -916,11 +919,13 @@
PyObject *c = parsenumber(num_raw);
if (c == NULL) {
+ p->error_indicator = 1;
return NULL;
}
if (PyArena_AddPyObject(p->arena, c) < 0) {
Py_DECREF(c);
+ p->error_indicator = 1;
return NULL;
}