mirror of https://github.com/python/cpython
Issue #25846: Fix usage of Py_ARRAY_LENGTH() in win32_wchdir()
This commit is contained in:
parent
8de795f4d2
commit
ed53782ed5
|
@ -1345,13 +1345,13 @@ win32_chdir(LPCSTR path)
|
||||||
static BOOL __stdcall
|
static BOOL __stdcall
|
||||||
win32_wchdir(LPCWSTR path)
|
win32_wchdir(LPCWSTR path)
|
||||||
{
|
{
|
||||||
wchar_t _new_path[MAX_PATH], *new_path = _new_path;
|
wchar_t path_buf[MAX_PATH], *new_path = path_buf;
|
||||||
int result;
|
int result;
|
||||||
wchar_t env[4] = L"=x:";
|
wchar_t env[4] = L"=x:";
|
||||||
|
|
||||||
if(!SetCurrentDirectoryW(path))
|
if(!SetCurrentDirectoryW(path))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
result = GetCurrentDirectoryW(Py_ARRAY_LENGTH(new_path), new_path);
|
result = GetCurrentDirectoryW(Py_ARRAY_LENGTH(path_buf), new_path);
|
||||||
if (!result)
|
if (!result)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (result > Py_ARRAY_LENGTH(new_path)) {
|
if (result > Py_ARRAY_LENGTH(new_path)) {
|
||||||
|
@ -1372,7 +1372,7 @@ win32_wchdir(LPCWSTR path)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
env[1] = new_path[0];
|
env[1] = new_path[0];
|
||||||
result = SetEnvironmentVariableW(env, new_path);
|
result = SetEnvironmentVariableW(env, new_path);
|
||||||
if (new_path != _new_path)
|
if (new_path != path_buf)
|
||||||
PyMem_RawFree(new_path);
|
PyMem_RawFree(new_path);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue