New submission from Steve Stagg <stest...@gmail.com>:

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 <rep...@bugs.python.org>
<https://bugs.python.org/issue40904>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to