Fixed possible abort in ceval loop if _PyUnicode_FromId() fails.
Every opcode should end with DISPATCH() or goto error.
This commit is contained in:
commit
4678b2f448
|
@ -2140,7 +2140,7 @@ _PyEval_EvalFrameDefault(PyFrameObject *f, int throwflag)
|
|||
else {
|
||||
PyObject *build_class_str = _PyUnicode_FromId(&PyId___build_class__);
|
||||
if (build_class_str == NULL)
|
||||
break;
|
||||
goto error;
|
||||
bc = PyObject_GetItem(f->f_builtins, build_class_str);
|
||||
if (bc == NULL) {
|
||||
if (PyErr_ExceptionMatches(PyExc_KeyError))
|
||||
|
@ -2652,7 +2652,7 @@ _PyEval_EvalFrameDefault(PyFrameObject *f, int throwflag)
|
|||
/* do the same if locals() is not a dict */
|
||||
PyObject *ann_str = _PyUnicode_FromId(&PyId___annotations__);
|
||||
if (ann_str == NULL) {
|
||||
break;
|
||||
goto error;
|
||||
}
|
||||
ann_dict = PyObject_GetItem(f->f_locals, ann_str);
|
||||
if (ann_dict == NULL) {
|
||||
|
|
Loading…
Reference in New Issue