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)
--- 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,