diff options
author | Victor Stinner <victor.stinner@haypocalc.com> | 2011-11-21 02:01:41 +0100 |
---|---|---|
committer | Victor Stinner <victor.stinner@haypocalc.com> | 2011-11-21 02:01:41 +0100 |
commit | b2d40d2728272d56781ac9164279d9a3ec900a7c (patch) | |
tree | 2ad52cade4a4dfa1f99f5ca549bf6f940630862f /Python/dynload_win.c | |
parent | 27dd95c9fd18e8c5fb4d1a3e8619bee5bfdf7533 (diff) | |
download | cpython-b2d40d2728272d56781ac9164279d9a3ec900a7c.tar.gz |
Check for PyUnicode_AS_UNICODE() failure
Diffstat (limited to 'Python/dynload_win.c')
-rw-r--r-- | Python/dynload_win.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Python/dynload_win.c b/Python/dynload_win.c index c620e58948..e511098d1d 100644 --- a/Python/dynload_win.c +++ b/Python/dynload_win.c @@ -176,11 +176,16 @@ dl_funcptr _PyImport_GetDynLoadWindows(const char *shortname, { dl_funcptr p; char funcname[258], *import_python; + wchar_t *wpathname; #ifndef _DEBUG _Py_CheckPython3(); #endif + wpathname = PyUnicode_AsUnicode(pathname); + if (wpathname == NULL) + return NULL; + PyOS_snprintf(funcname, sizeof(funcname), "PyInit_%.200s", shortname); { @@ -195,7 +200,7 @@ dl_funcptr _PyImport_GetDynLoadWindows(const char *shortname, /* We use LoadLibraryEx so Windows looks for dependent DLLs in directory of pathname first. */ /* XXX This call doesn't exist in Windows CE */ - hDLL = LoadLibraryExW(PyUnicode_AS_UNICODE(pathname), NULL, + hDLL = LoadLibraryExW(wpathname, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); _Py_DeactivateActCtx(cookie); |