From: Bartosz Kosiorek <gang65(a)poczta.onet.pl> --- dlls/msvcrt/dir.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/dlls/msvcrt/dir.c b/dlls/msvcrt/dir.c index 2c2c25b0e9d..6065e371b46 100644 --- a/dlls/msvcrt/dir.c +++ b/dlls/msvcrt/dir.c @@ -821,19 +821,23 @@ wchar_t* CDECL _wgetcwd(wchar_t * buf, int size) int dir_len = GetCurrentDirectoryW(MAX_PATH,dir); if (dir_len < 1) - return NULL; /* FIXME: Real return value untested */ + return NULL; if (!buf) { if (size <= dir_len) size = dir_len + 1; - if (!(buf = malloc( size * sizeof(WCHAR) ))) return NULL; + if (!(buf = malloc( size * sizeof(WCHAR) ))) + { + *_errno() = ENOMEM; + return NULL; + } } if (dir_len >= size) { *_errno() = ERANGE; return NULL; /* buf too small */ } - wcscpy(buf,dir); + wcscpy_s(buf, size, dir); return buf; } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/1159