From dee38e46b439376b210ac6f564d47e01ee42f640 Mon Sep 17 00:00:00 2001 From: "Erlend E. Aasland" Date: Thu, 8 Apr 2021 23:52:00 +0200 Subject: [PATCH] _PyArena_AddPyObject only steals a ref on success --- Parser/pegen.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Parser/pegen.c b/Parser/pegen.c index 82dcd3bb5a8586..7b5a5e91468571 100644 --- a/Parser/pegen.c +++ b/Parser/pegen.c @@ -690,7 +690,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;