Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.3k
Closed
Description
The generated code inPython-ast.c is missing error checks following the construction of C-levelalias,arg,comprehension,keyword,match_item, andwithitem nodes from their Python object counterparts. This means it's possible to crash the interpreter by attempting to compile an AST where a required member of these nodes is replaced withNone:
>>>importast>>>tree=ast.parse("""... match ...:... case THIS:... ...... """)>>>tree.body[0].cases[0].pattern=None>>>compile(tree,"<crash>","exec")Segmentationfault
I'll have a PR up in a minute with the one-line fix.