Commit ffb5184
In `symtable_visit_type_param_bound_or_default()`, when a reserved name
(e.g. `__classdict__`) is used as a type parameter, `PyUnicode_FromFormat()`
is called to build the SyntaxError message. If the allocation fails and
returns NULL, the subsequent `PyErr_SetObject()` and `Py_DECREF()` calls
would dereference NULL, causing a segfault.
Fix by returning 0 immediately when `PyUnicode_FromFormat()` returns NULL.
This propagates the MemoryError set by `PyUnicode_FromFormat()`.
The bug was introduced in gh-128632 (commit 891c61c).
(cherry picked from commit 10ed03e)
Co-authored-by: Petr Vaganov <petrvaganoff@gmail.com>
* Remove test
---------
Co-authored-by: Petr Vaganov <petrvaganoff@gmail.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
1 parent fdba15a commit ffb5184
2 files changed
Lines changed: 6 additions & 0 deletions
File tree
- Misc/NEWS.d/next/Core_and_Builtins
- Python
Lines changed: 3 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2678 | 2678 | | |
2679 | 2679 | | |
2680 | 2680 | | |
| 2681 | + | |
| 2682 | + | |
| 2683 | + | |
2681 | 2684 | | |
2682 | 2685 | | |
2683 | 2686 | | |
| |||
0 commit comments