diff --git a/Parser/pegen/pegen.c b/Parser/pegen/pegen.c index 0a26275b23e0d06..111009af63e22a2 100644 --- a/Parser/pegen/pegen.c +++ b/Parser/pegen/pegen.c @@ -639,7 +639,10 @@ _PyPegen_fill_token(Parser *p) if (t->bytes == NULL) { return -1; } - PyArena_AddPyObject(p->arena, t->bytes); + if (PyArena_AddPyObject(p->arena, t->bytes) < 0) { + Py_DECREF(t->bytes); + return -1; + } int lineno = type == STRING ? p->tok->first_lineno : p->tok->lineno; const char *line_start = type == STRING ? p->tok->multi_line_start : p->tok->line_start;