gh-126240: handle NULL returned by _Py_asdl_expr_seq_new (#126241)

check return value of `_Py_asdl_expr_seq_new`
This commit is contained in:
Bénédikt Tran 2024-10-31 15:24:07 +01:00 committed by GitHub
parent 01415213d7
commit 94639f6b71
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1128,6 +1128,9 @@ expr_ty _PyPegen_collect_call_seqs(Parser *p, asdl_expr_seq *a, asdl_seq *b,
} }
asdl_expr_seq *args = _Py_asdl_expr_seq_new(total_len, arena); asdl_expr_seq *args = _Py_asdl_expr_seq_new(total_len, arena);
if (args == NULL) {
return NULL;
}
Py_ssize_t i = 0; Py_ssize_t i = 0;
for (i = 0; i < args_len; i++) { for (i = 0; i < args_len; i++) {
@ -1298,6 +1301,9 @@ unpack_top_level_joined_strs(Parser *p, asdl_expr_seq *raw_expressions)
} }
asdl_expr_seq *expressions = _Py_asdl_expr_seq_new(req_size, p->arena); asdl_expr_seq *expressions = _Py_asdl_expr_seq_new(req_size, p->arena);
if (expressions == NULL) {
return NULL;
}
Py_ssize_t raw_index, req_index = 0; Py_ssize_t raw_index, req_index = 0;
for (raw_index = 0; raw_index < raw_size; raw_index++) { for (raw_index = 0; raw_index < raw_size; raw_index++) {
@ -1490,6 +1496,9 @@ expr_ty _PyPegen_formatted_value(Parser *p, expr_ty expression, Token *debug, Re
} }
asdl_expr_seq *values = _Py_asdl_expr_seq_new(2, arena); asdl_expr_seq *values = _Py_asdl_expr_seq_new(2, arena);
if (values == NULL) {
return NULL;
}
asdl_seq_SET(values, 0, debug_text); asdl_seq_SET(values, 0, debug_text);
asdl_seq_SET(values, 1, formatted_value); asdl_seq_SET(values, 1, formatted_value);
return _PyAST_JoinedStr(values, lineno, col_offset, debug_end_line, debug_end_offset, p->arena); return _PyAST_JoinedStr(values, lineno, col_offset, debug_end_line, debug_end_offset, p->arena);