Check error when calling PyUnicode_AppendAndDel()

This commit is contained in:
Victor Stinner 2011-10-02 20:35:10 +02:00
parent 1a15aba71d
commit 67002af323
2 changed files with 7 additions and 5 deletions

View File

@ -944,9 +944,9 @@ void _ctypes_extend_error(PyObject *exc_class, char *fmt, ...)
else {
PyErr_Clear();
PyUnicode_AppendAndDel(&s, PyUnicode_FromString("???"));
if (s == NULL)
goto error;
}
if (s == NULL)
goto error;
PyErr_SetObject(exc_class, s);
error:
Py_XDECREF(tp);

View File

@ -187,7 +187,7 @@ dl_funcptr _PyImport_GetDynLoadWindows(const char *shortname,
HINSTANCE hDLL = NULL;
unsigned int old_mode;
ULONG_PTR cookie = 0;
/* Don't display a message box when Python can't load a DLL */
old_mode = SetErrorMode(SEM_FAILCRITICALERRORS);
@ -248,8 +248,10 @@ dl_funcptr _PyImport_GetDynLoadWindows(const char *shortname,
theInfo,
theLength));
}
PyErr_SetObject(PyExc_ImportError, message);
Py_XDECREF(message);
if (message != NULL) {
PyErr_SetObject(PyExc_ImportError, message);
Py_DECREF(message);
}
return NULL;
} else {
char buffer[256];