diff options
Diffstat (limited to 'Modules/posixmodule.c')
-rw-r--r-- | Modules/posixmodule.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 79c3a44..6e4925b 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -726,11 +726,14 @@ win32_wchdir(LPCWSTR path) if (!result) return FALSE; if (result > MAX_PATH+1) { - new_path = malloc(result); + new_path = malloc(result * sizeof(wchar_t)); if (!new_path) { SetLastError(ERROR_OUTOFMEMORY); return FALSE; } + result = GetCurrentDirectoryW(result, new_path); + if (!result) + return FALSE; } if (wcsncmp(new_path, L"\\\\", 2) == 0 || wcsncmp(new_path, L"//", 2) == 0) |