Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Sign upbpo-39091: Fix segfault when Exception constructor returns non-exception for gen.throw #17658
Conversation
This comment has been minimized.
This comment has been minimized.
the-knights-who-say-ni
commented
Dec 19, 2019
|
Hello, and thanks for your contribution! I'm a bot set up to make sure that the project can legally accept this contribution by verifying everyone involved has signed the PSF contributor agreement (CLA). CLA MissingOur records indicate the following people have not signed the CLA: For legal reasons we need all the people listed to sign the CLA before we can look at your contribution. Please follow the steps outlined in the CPython devguide to rectify this issue. If you have recently signed the CLA, please wait at least one business day You can check yourself to see if the CLA has been received. Thanks again for the contribution, we look forward to reviewing it! |
| with self.assertRaisesRegex( | ||
| TypeError, | ||
| 'should have returned an instance of BaseException'): | ||
| gen.throw(E) |
This comment has been minimized.
This comment has been minimized.
eric-wieser
Dec 19, 2019
Contributor
It would be interesting to check if the generator was resumed or not here. Can you add assert next(gen) is None after the with to prove that it has not been resumed? (or perhaps yield 42 and assert that for clarity)
coolreader18 commentedDec 19, 2019
•
edited
I added a type check in
_PyErr_CreateExceptionas @serhiy-storchaka suggested.I'm not sure if I should replace the check in
do_raiseinceval.cwith a call to_PyErr_CreateExceptionsomehow, as it's effectively the same functionality?https://bugs.python.org/issue39091