Skip to content

Commit 3416ffa

Browse files
authored
[3.12] gh-126240: handle NULL returned by _Py_asdl_expr_seq_new (GH-126241) (#126245)
gh-126240: handle `NULL` returned by `_Py_asdl_expr_seq_new` (#126241) check return value of `_Py_asdl_expr_seq_new`
1 parent 90de322 commit 3416ffa

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

Parser/action_helpers.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1043,6 +1043,9 @@ expr_ty _PyPegen_collect_call_seqs(Parser *p, asdl_expr_seq *a, asdl_seq *b,
10431043
}
10441044

10451045
asdl_expr_seq *args = _Py_asdl_expr_seq_new(total_len, arena);
1046+
if (args == NULL) {
1047+
return NULL;
1048+
}
10461049

10471050
Py_ssize_t i = 0;
10481051
for (i = 0; i < args_len; i++) {
@@ -1210,6 +1213,9 @@ unpack_top_level_joined_strs(Parser *p, asdl_expr_seq *raw_expressions) {
12101213
}
12111214

12121215
asdl_expr_seq *expressions = _Py_asdl_expr_seq_new(req_size, p->arena);
1216+
if (expressions == NULL) {
1217+
return NULL;
1218+
}
12131219

12141220
Py_ssize_t raw_index, req_index = 0;
12151221
for (raw_index = 0; raw_index < raw_size; raw_index++) {
@@ -1400,6 +1406,9 @@ expr_ty _PyPegen_formatted_value(Parser *p, expr_ty expression, Token *debug,
14001406
}
14011407

14021408
asdl_expr_seq *values = _Py_asdl_expr_seq_new(2, arena);
1409+
if (values == NULL) {
1410+
return NULL;
1411+
}
14031412
asdl_seq_SET(values, 0, debug_text);
14041413
asdl_seq_SET(values, 1, formatted_value);
14051414
return _PyAST_JoinedStr(values, lineno, col_offset, debug_end_line,

0 commit comments

Comments
 (0)