argument and without current frame (ex: embedded Python).
Core and Builtins
-----------------
+- Issue #21418: Fix a crash in the builtin function super() when called without
+ argument and without current frame (ex: embedded Python).
+
- Issue #21425: Fix flushing of standard streams in the interactive
interpreter.
if (type == NULL) {
/* Call super(), without args -- fill in from __class__
and first local variable on the stack. */
- PyFrameObject *f = PyThreadState_GET()->frame;
- PyCodeObject *co = f->f_code;
+ PyFrameObject *f;
+ PyCodeObject *co;
Py_ssize_t i, n;
+ f = PyThreadState_GET()->frame;
+ if (f == NULL) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "super(): no current frame");
+ return -1;
+ }
+ co = f->f_code;
if (co == NULL) {
PyErr_SetString(PyExc_RuntimeError,
"super(): no code object");