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 91aaaf5ff18..2c2c25b0e9d 100644 --- a/dlls/msvcrt/dir.c +++ b/dlls/msvcrt/dir.c @@ -790,19 +790,23 @@ char* CDECL _getcwd(char * buf, int size) int dir_len = GetCurrentDirectoryA(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 ))) return NULL; + if (!(buf = malloc( size ))) + { + *_errno() = ENOMEM; + return NULL; + } } else if (dir_len >= size) { *_errno() = ERANGE; return NULL; /* buf too small */ } - strcpy(buf,dir); + strcpy_s(buf, size, dir); return buf; } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/1159