Mercurial > vim
changeset 6262:452e8b2a0ab3 v7.4.465
updated for version 7.4.465
Problem: Crash when expanding a very long string.
Solution: Use wsncpy() instead of wcscpy(). (Ken Takata)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Tue, 07 Oct 2014 10:38:40 +0200 |
parents | c6c1572a1dba |
children | cccfbf3fd5c0 |
files | src/os_win32.c src/version.c |
diffstat | 2 files changed, 6 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- 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)