New submission from Steve Stagg <[email protected]>:
The following command causes python to segfault:
$ echo "f'{yield}'" | python/bin/python3
Bisect tracked this down to:
c5fc15685202cda73f7c3f5c6f299b0945f58508 (bpo-40334: PEP 617 implementation:
New PEG parser for CPython (GH-19503))
The illegal access is coming out of `fstring_shift_children_locations`
as n->v.Yield.value is None.
Correspondingly, the following produces the expected output:
$ echo "f'{yield 1}'" | python/bin/python3
Suggesting there's a missing check for no yield value in this code.
----------
components: Interpreter Core
messages: 370923
nosy: stestagg
priority: normal
severity: normal
status: open
title: Segfault from new PEG parser handling yield withing f-strings
type: crash
versions: Python 3.10
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue40904>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com