commit | 21d89b610fe2d952a500eaf34cda03c276ef6db6 | [log] [tgz] |
---|---|---|
author | Bram Moolenaar <Bram@vim.org> | Tue Oct 07 10:38:40 2014 +0200 |
committer | Bram Moolenaar <Bram@vim.org> | Tue Oct 07 10:38:40 2014 +0200 |
tree | 08fa8c99924b6547c3e85abf474c134c8c8f9cfa | |
parent | 0f519a02c5fa472f1b71844eb38d081e4c5bd408 [diff] [blame] |
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 index 21c3ee9..eb66ed2 100644 --- a/src/os_win32.c +++ b/src/os_win32.c
@@ -2775,9 +2775,10 @@ if (p != NULL) { char_u *q; - WCHAR buf[_MAX_PATH + 2]; + WCHAR buf[_MAX_PATH + 1]; - wcscpy(buf, p); + wcsncpy(buf, p, _MAX_PATH); + buf[_MAX_PATH] = L'\0'; vim_free(p); if (fname_casew(buf, (len > 0) ? _MAX_PATH : 0) == OK)