changeset 15892:e43b5e6d9190 v8.1.0952

patch 8.1.0952: compilation warnings when building the MS-Windows installer commit https://github.com/vim/vim/commit/bbd854dc57e82937eb7b95af220a2f137ded64f8 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Feb 18 22:19:33 2019 +0100 patch 8.1.0952: compilation warnings when building the MS-Windows installer Problem: Compilation warnings when building the MS-Windows installer. Solution: Fix buffer sizes. (Yasuhiro Matsumoto, closes https://github.com/vim/vim/issues/3999)
author Bram Moolenaar <Bram@vim.org>
date Mon, 18 Feb 2019 22:30:06 +0100
parents 57db11959a14
children 6786356b229c
files src/dosinst.c src/dosinst.h src/uninstal.c src/version.c
diffstat 4 files changed, 12 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/src/dosinst.c
+++ b/src/dosinst.c
@@ -456,7 +456,7 @@ window_cb(HWND hwnd, LPARAM lparam)
     static int
 run_silent_uninstall(char *uninst_exe)
 {
-    char    vimrt_dir[BUFSIZE];
+    char    vimrt_dir[MAX_PATH];
     char    temp_uninst[BUFSIZE];
     char    temp_dir[MAX_PATH];
     char    buf[BUFSIZE * 2 + 10];
@@ -505,7 +505,7 @@ uninstall_check(int skip_question)
     HKEY	uninstall_key_handle;
     char	*uninstall_key = "software\\Microsoft\\Windows\\CurrentVersion\\Uninstall";
     char	subkey_name_buff[BUFSIZE];
-    char	temp_string_buffer[BUFSIZE];
+    char	temp_string_buffer[BUFSIZE-2];
     DWORD	local_bufsize = BUFSIZE;
     FILETIME	temp_pfiletime;
     DWORD	key_index;
@@ -1614,7 +1614,7 @@ install_registry(void)
     const char	*vim_ext_ThreadingModel = "Apartment";
     const char	*vim_ext_name = "Vim Shell Extension";
     const char	*vim_ext_clsid = "{51EEE242-AD87-11d3-9C1E-0090278BBD99}";
-    char	vim_exe_path[BUFSIZE];
+    char	vim_exe_path[MAX_PATH];
     char	display_name[BUFSIZE];
     char	uninstall_string[BUFSIZE];
     char	icon_string[BUFSIZE];
@@ -1869,7 +1869,7 @@ build_link_name(
 	const char *link_name,
 	const char *shell_folder_name)
 {
-    char	shell_folder_path[BUFSIZE];
+    char	shell_folder_path[MAX_PATH];
 
     if (get_shell_folder_path(shell_folder_path, shell_folder_name) == FAIL)
     {
@@ -2278,8 +2278,8 @@ install_vimfilesdir(int idx)
     int i;
     int vimfiles_dir_choice = choices[idx].arg;
     char *p;
-    char vimdir_path[BUFSIZE];
-    char vimfiles_path[BUFSIZE];
+    char vimdir_path[MAX_PATH];
+    char vimfiles_path[MAX_PATH + 9];
     char tmp_dirname[BUFSIZE];
 
     /* switch on the location that the user wants the plugin directories
--- a/src/dosinst.h
+++ b/src/dosinst.h
@@ -388,7 +388,7 @@ char *(icon_link_names[ICON_COUNT]) =
 run_command(char *cmd)
 {
     char	*cmd_path;
-    char	cmd_buf[BUFSIZE];
+    char	cmd_buf[BUFSIZE * 2 + 35];
     char	*p;
 
     /* On WinNT, 'start' is a shell built-in for cmd.exe rather than an
@@ -498,7 +498,7 @@ remove_tail(char *path)
 }
 
 
-char	installdir[BUFSIZE];	/* top of the installation dir, where the
+char	installdir[MAX_PATH-9];	/* top of the installation dir, where the
 				   install.exe is located, E.g.:
 				   "c:\vim\vim60" */
 int	runtimeidx;		/* index in installdir[] where "vim60" starts */
--- a/src/uninstal.c
+++ b/src/uninstal.c
@@ -321,8 +321,8 @@ main(int argc, char *argv[])
     int		i;
     struct stat st;
     char	icon[BUFSIZE];
-    char	path[BUFSIZE];
-    char	popup_path[BUFSIZE];
+    char	path[MAX_PATH];
+    char	popup_path[MAX_PATH];
 
     /* The nsis uninstaller calls us with a "-nsis" argument. */
     if (argc == 2 && stricmp(argv[1], "-nsis") == 0)
--- a/src/version.c
+++ b/src/version.c
@@ -780,6 +780,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    952,
+/**/
     951,
 /**/
     950,