mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
gh-126366: Fix crash if __iter__
raises an exception during yield from
(#126369)
This commit is contained in:
parent
407c0366d9
commit
1371295e67
6 changed files with 25 additions and 6 deletions
|
@ -2811,11 +2811,12 @@ dummy_func(
|
|||
}
|
||||
else {
|
||||
/* `iterable` is not a generator. */
|
||||
iter = PyStackRef_FromPyObjectSteal(PyObject_GetIter(iterable_o));
|
||||
PyObject *iter_o = PyObject_GetIter(iterable_o);
|
||||
DEAD(iterable);
|
||||
if (PyStackRef_IsNull(iter)) {
|
||||
if (iter_o == NULL) {
|
||||
ERROR_NO_POP();
|
||||
}
|
||||
iter = PyStackRef_FromPyObjectSteal(iter_o);
|
||||
DECREF_INPUTS();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue