if (f != NULL) {
PyObject *tb = _PyTraceBack_FromFrame(NULL, f);
if (tb == NULL) {
+ Py_DECREF(wrapped);
return -1;
}
PyException_SetTraceback(wrapped, tb);
}
PyObject *tbexc = PyObject_Call(create, args, kwargs);
- Py_DECREF(args);
- Py_DECREF(kwargs);
- Py_DECREF(create);
if (tbexc == NULL) {
goto error;
}
+ Py_DECREF(args);
+ Py_DECREF(kwargs);
+ Py_DECREF(create);
*p_tbexc = tbexc;
return 0;
PyObject *formatted = _PyXI_excinfo_format(info);
PyErr_SetObject(exctype, formatted);
- Py_DECREF(formatted);
+ Py_XDECREF(formatted);
if (tbexc != NULL) {
PyObject *exc = PyErr_GetRaisedException();
}
if (PySys_Audit("sys.remote_exec", "iO", pid, script) < 0) {
- return NULL;
+ goto error;
}
debugger_script_path = PyBytes_AS_STRING(path);