More fixes

This commit is contained in:
Pablo Galindo Salgado 2025-09-23 18:51:46 +01:00 committed by Dino Viehland
parent e0878bedf7
commit f9880bfd5f
3 changed files with 9 additions and 5 deletions

View file

@ -1835,7 +1835,9 @@ dummy_func(
PyObject *res_o = PyStackRef_AsPyObjectBorrow(*res); PyObject *res_o = PyStackRef_AsPyObjectBorrow(*res);
if (PyLazyImport_CheckExact(res_o)) { if (PyLazyImport_CheckExact(res_o)) {
PyObject *l_v = _PyImport_LoadLazyImportTstate(tstate, res_o); PyObject *l_v = _PyImport_LoadLazyImportTstate(tstate, res_o);
Py_DECREF(res_o); if (PyDict_SetItem(GLOBALS(), name, l_v) < 0) {
JUMP_TO_LABEL(error);
}
res_o = l_v; res_o = l_v;
PyStackRef_CLOSE(res[0]); PyStackRef_CLOSE(res[0]);
ERROR_IF(res_o == NULL); ERROR_IF(res_o == NULL);

View file

@ -2490,8 +2490,10 @@
if (PyLazyImport_CheckExact(res_o)) { if (PyLazyImport_CheckExact(res_o)) {
_PyFrame_SetStackPointer(frame, stack_pointer); _PyFrame_SetStackPointer(frame, stack_pointer);
PyObject *l_v = _PyImport_LoadLazyImportTstate(tstate, res_o); PyObject *l_v = _PyImport_LoadLazyImportTstate(tstate, res_o);
Py_DECREF(res_o);
stack_pointer = _PyFrame_GetStackPointer(frame); stack_pointer = _PyFrame_GetStackPointer(frame);
if (PyDict_SetItem(GLOBALS(), name, l_v) < 0) {
JUMP_TO_LABEL(error);
}
res_o = l_v; res_o = l_v;
_PyFrame_SetStackPointer(frame, stack_pointer); _PyFrame_SetStackPointer(frame, stack_pointer);
PyStackRef_CLOSE(res[0]); PyStackRef_CLOSE(res[0]);

View file

@ -9193,10 +9193,10 @@
if (PyLazyImport_CheckExact(res_o)) { if (PyLazyImport_CheckExact(res_o)) {
_PyFrame_SetStackPointer(frame, stack_pointer); _PyFrame_SetStackPointer(frame, stack_pointer);
PyObject *l_v = _PyImport_LoadLazyImportTstate(tstate, res_o); PyObject *l_v = _PyImport_LoadLazyImportTstate(tstate, res_o);
stack_pointer = _PyFrame_GetStackPointer(frame);
if (PyDict_SetItem(GLOBALS(), name, l_v) < 0) { if (PyDict_SetItem(GLOBALS(), name, l_v) < 0) {
JUMP_TO_LABEL(error); JUMP_TO_LABEL(error);
} }
stack_pointer = _PyFrame_GetStackPointer(frame);
res_o = l_v; res_o = l_v;
_PyFrame_SetStackPointer(frame, stack_pointer); _PyFrame_SetStackPointer(frame, stack_pointer);
PyStackRef_CLOSE(res[0]); PyStackRef_CLOSE(res[0]);