Skip to content

Commit 326059e

Browse files
committed
fixup! fixup! gh-103656: Transfer f-string buffers to parser to avoid use-after-free
1 parent 51d7d83 commit 326059e

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

Parser/pegen.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -155,15 +155,13 @@ initialize_token(Parser *p, Token *parser_token, struct token *new_token, int to
155155
return -1;
156156
}
157157

158+
parser_token->metadata = NULL;
158159
if (new_token->metadata != NULL) {
159-
parser_token->metadata = new_token->metadata;
160-
if (_PyArena_AddPyObject(p->arena, parser_token->metadata) < 0) {
160+
if (_PyArena_AddPyObject(p->arena, new_token->metadata) < 0) {
161161
Py_DECREF(parser_token->metadata);
162162
return -1;
163163
}
164-
}
165-
else {
166-
parser_token->metadata = NULL;
164+
parser_token->metadata = new_token->metadata;
167165
}
168166

169167
parser_token->level = new_token->level;

0 commit comments

Comments
 (0)