# HG changeset patch # User Bram Moolenaar # Date 1412671120 -7200 # Node ID 452e8b2a0ab39fb0cc037382cc4842a6d6b2a3f2 # Parent c6c1572a1dbac61374847122c487eb79ffd21f43 updated for version 7.4.465 Problem: Crash when expanding a very long string. Solution: Use wsncpy() instead of wcscpy(). (Ken Takata) diff --git a/src/os_win32.c b/src/os_win32.c --- a/src/os_win32.c +++ b/src/os_win32.c @@ -2775,9 +2775,10 @@ fname_case( if (p != NULL) { char_u *q; - WCHAR buf[_MAX_PATH + 2]; - - wcscpy(buf, p); + WCHAR buf[_MAX_PATH + 1]; + + wcsncpy(buf, p, _MAX_PATH); + buf[_MAX_PATH] = L'\0'; vim_free(p); if (fname_casew(buf, (len > 0) ? _MAX_PATH : 0) == OK) diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -742,6 +742,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 465, +/**/ 464, /**/ 463,