]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.9] Backport GH-20440: Set p->error_indicator in more places (GH-20457)
authorLysandros Nikolaou <lisandrosnik@gmail.com>
Wed, 27 May 2020 20:20:43 +0000 (23:20 +0300)
committerGitHub <noreply@github.com>
Wed, 27 May 2020 20:20:43 +0000 (21:20 +0100)
Parser/pegen/pegen.c

index b858b6b9d3854545b363a43db58abbe71a614283..6608fd8b87de1f13d9cc428fc05177633a140b7b 100644 (file)
@@ -808,10 +808,12 @@ _PyPegen_name_token(Parser *p)
     }
     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 @@ _PyPegen_number_token(Parser *p)
 
     char *num_raw = PyBytes_AsString(t->bytes);
     if (num_raw == NULL) {
+        p->error_indicator = 1;
         return NULL;
     }
 
@@ -916,11 +919,13 @@ _PyPegen_number_token(Parser *p)
     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;
     }