summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0976
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0976')
-rw-r--r--data/vim/patches/8.1.0976454
1 files changed, 0 insertions, 454 deletions
diff --git a/data/vim/patches/8.1.0976 b/data/vim/patches/8.1.0976
deleted file mode 100644
index 4f5d32056..000000000
--- a/data/vim/patches/8.1.0976
+++ /dev/null
@@ -1,454 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 8.1.0976
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 8.1.0976
-Problem: Dosinstall still has buffer overflow problems.
-Solution: Adjust buffer sizes. (Yasuhiro Matsumoto, closes #4002)
-Files: src/dosinst.c, src/dosinst.h, src/uninstal.c
-
-
-*** ../vim-8.1.0975/src/dosinst.c 2019-02-18 22:19:29.124186022 +0100
---- src/dosinst.c 2019-02-22 19:37:38.442404717 +0100
-***************
-*** 388,394 ****
-
- /* First get $VIMRUNTIME. If it's set, remove the tail. */
- vim = getenv("VIMRUNTIME");
-! if (vim != NULL && *vim != 0 && strlen(vim) < BUFSIZE)
- {
- strcpy(buf, vim);
- remove_tail(buf);
---- 388,394 ----
-
- /* First get $VIMRUNTIME. If it's set, remove the tail. */
- vim = getenv("VIMRUNTIME");
-! if (vim != NULL && *vim != 0 && strlen(vim) < sizeof(buf))
- {
- strcpy(buf, vim);
- remove_tail(buf);
-***************
-*** 411,417 ****
-
- /* NSIS also uses GetTempPath(), thus we should get the same directory
- * name as where NSIS will look for vimini.ini. */
-! GetTempPath(BUFSIZE, fname);
- add_pathsep(fname);
- strcat(fname, "vimini.ini");
-
---- 411,417 ----
-
- /* NSIS also uses GetTempPath(), thus we should get the same directory
- * name as where NSIS will look for vimini.ini. */
-! GetTempPath(sizeof(fname) - 12, fname);
- add_pathsep(fname);
- strcat(fname, "vimini.ini");
-
-***************
-*** 456,462 ****
- static int
- run_silent_uninstall(char *uninst_exe)
- {
-! char vimrt_dir[MAX_PATH];
- char temp_uninst[BUFSIZE];
- char temp_dir[MAX_PATH];
- char buf[BUFSIZE * 2 + 10];
---- 456,462 ----
- static int
- run_silent_uninstall(char *uninst_exe)
- {
-! char vimrt_dir[BUFSIZE];
- char temp_uninst[BUFSIZE];
- char temp_dir[MAX_PATH];
- char buf[BUFSIZE * 2 + 10];
-***************
-*** 506,512 ****
- char *uninstall_key = "software\\Microsoft\\Windows\\CurrentVersion\\Uninstall";
- char subkey_name_buff[BUFSIZE];
- char temp_string_buffer[BUFSIZE-2];
-! DWORD local_bufsize = BUFSIZE;
- FILETIME temp_pfiletime;
- DWORD key_index;
- char input;
---- 506,512 ----
- char *uninstall_key = "software\\Microsoft\\Windows\\CurrentVersion\\Uninstall";
- char subkey_name_buff[BUFSIZE];
- char temp_string_buffer[BUFSIZE-2];
-! DWORD local_bufsize;
- FILETIME temp_pfiletime;
- DWORD key_index;
- char input;
-***************
-*** 521,532 ****
- KEY_WOW64_64KEY | KEY_READ, &key_handle);
- CHECK_REG_ERROR(code);
-
-! for (key_index = 0;
-! RegEnumKeyEx(key_handle, key_index, subkey_name_buff, &local_bufsize,
-! NULL, NULL, NULL, &temp_pfiletime) != ERROR_NO_MORE_ITEMS;
-! key_index++)
- {
-! local_bufsize = BUFSIZE;
- if (strncmp("Vim", subkey_name_buff, 3) == 0)
- {
- /* Open the key named Vim* */
---- 521,534 ----
- KEY_WOW64_64KEY | KEY_READ, &key_handle);
- CHECK_REG_ERROR(code);
-
-! key_index = 0;
-! while (TRUE)
- {
-! local_bufsize = sizeof(subkey_name_buff);
-! if (RegEnumKeyEx(key_handle, key_index, subkey_name_buff, &local_bufsize,
-! NULL, NULL, NULL, &temp_pfiletime) == ERROR_NO_MORE_ITEMS)
-! break;
-!
- if (strncmp("Vim", subkey_name_buff, 3) == 0)
- {
- /* Open the key named Vim* */
-***************
-*** 535,544 ****
- CHECK_REG_ERROR(code);
-
- /* get the DisplayName out of it to show the user */
- code = RegQueryValueEx(uninstall_key_handle, "displayname", 0,
- &value_type, (LPBYTE)temp_string_buffer,
- &local_bufsize);
-- local_bufsize = BUFSIZE;
- CHECK_REG_ERROR(code);
-
- allow_silent = 0;
---- 537,546 ----
- CHECK_REG_ERROR(code);
-
- /* get the DisplayName out of it to show the user */
-+ local_bufsize = sizeof(temp_string_buffer);
- code = RegQueryValueEx(uninstall_key_handle, "displayname", 0,
- &value_type, (LPBYTE)temp_string_buffer,
- &local_bufsize);
- CHECK_REG_ERROR(code);
-
- allow_silent = 0;
-***************
-*** 568,576 ****
- fflush(stdout);
-
- /* get the UninstallString */
- code = RegQueryValueEx(uninstall_key_handle, "uninstallstring", 0,
- &value_type, (LPBYTE)temp_string_buffer, &local_bufsize);
-- local_bufsize = BUFSIZE;
- CHECK_REG_ERROR(code);
-
- /* Remember the directory, it is used as the default for NSIS. */
---- 570,578 ----
- fflush(stdout);
-
- /* get the UninstallString */
-+ local_bufsize = sizeof(temp_string_buffer);
- code = RegQueryValueEx(uninstall_key_handle, "uninstallstring", 0,
- &value_type, (LPBYTE)temp_string_buffer, &local_bufsize);
- CHECK_REG_ERROR(code);
-
- /* Remember the directory, it is used as the default for NSIS. */
-***************
-*** 683,688 ****
---- 685,692 ----
-
- RegCloseKey(uninstall_key_handle);
- }
-+
-+ key_index++;
- }
- RegCloseKey(key_handle);
-
-***************
-*** 1826,1832 ****
- /* translate the (possibly) multibyte shortcut filename to windows
- * Unicode so it can be used as a file name.
- */
-! MultiByteToWideChar(CP_ACP, 0, shortcut_name, -1, wsz, BUFSIZE);
-
- /* set the attributes */
- shelllink_ptr->lpVtbl->SetPath(shelllink_ptr, shortcut_target);
---- 1830,1836 ----
- /* translate the (possibly) multibyte shortcut filename to windows
- * Unicode so it can be used as a file name.
- */
-! MultiByteToWideChar(CP_ACP, 0, shortcut_name, -1, wsz, sizeof(wsz)/sizeof(wsz[0]));
-
- /* set the attributes */
- shelllink_ptr->lpVtbl->SetPath(shelllink_ptr, shortcut_target);
-***************
-*** 2135,2141 ****
- * result in "to[]".
- */
- static void
-! dir_remove_last(const char *path, char to[BUFSIZE])
- {
- char c;
- long last_char_to_copy;
---- 2139,2145 ----
- * result in "to[]".
- */
- static void
-! dir_remove_last(const char *path, char to[MAX_PATH])
- {
- char c;
- long last_char_to_copy;
-***************
-*** 2206,2212 ****
- if (homepath == NULL || *homepath == NUL)
- homepath = "\\";
- if (homedrive != NULL
-! && strlen(homedrive) + strlen(homepath) < MAX_PATH)
- {
- sprintf(buf, "%s%s", homedrive, homepath);
- if (buf[0] != NUL)
---- 2210,2216 ----
- if (homepath == NULL || *homepath == NUL)
- homepath = "\\";
- if (homedrive != NULL
-! && strlen(homedrive) + strlen(homepath) < sizeof(buf))
- {
- sprintf(buf, "%s%s", homedrive, homepath);
- if (buf[0] != NUL)
-***************
-*** 2234,2243 ****
- buf[p - (var + 1)] = NUL;
- exp = getenv(buf);
- if (exp != NULL && *exp != NUL
-! && strlen(exp) + strlen(p) < MAX_PATH)
- {
-! _snprintf(buf, MAX_PATH, "%s%s", exp, p + 1);
-! buf[MAX_PATH - 1] = NUL;
- var = buf;
- }
- }
---- 2238,2246 ----
- buf[p - (var + 1)] = NUL;
- exp = getenv(buf);
- if (exp != NULL && *exp != NUL
-! && strlen(exp) + strlen(p) < sizeof(buf))
- {
-! sprintf(buf, "%s%s", exp, p + 1);
- var = buf;
- }
- }
-***************
-*** 2351,2360 ****
-
- // Check if the "compiler" directory already exists. That's a good
- // indication that the plugin directories were already created.
-! if (getenv("HOME") != NULL)
- {
- vimfiles_dir_choice = (int)vimfiles_dir_home;
-! sprintf(tmp_dirname, "%s\\vimfiles\\compiler", getenv("HOME"));
- if (stat(tmp_dirname, &st) == 0)
- vimfiles_dir_choice = (int)vimfiles_dir_none;
- }
---- 2354,2364 ----
-
- // Check if the "compiler" directory already exists. That's a good
- // indication that the plugin directories were already created.
-! p = getenv("HOME");
-! if (p != NULL)
- {
- vimfiles_dir_choice = (int)vimfiles_dir_home;
-! sprintf(tmp_dirname, "%s\\vimfiles\\compiler", p);
- if (stat(tmp_dirname, &st) == 0)
- vimfiles_dir_choice = (int)vimfiles_dir_none;
- }
-*** ../vim-8.1.0975/src/dosinst.h 2019-02-18 22:19:29.124186022 +0100
---- src/dosinst.h 2019-02-22 19:33:42.519738742 +0100
-***************
-*** 59,65 ****
- /* ---------------------------------------- */
-
-
-! #define BUFSIZE 512 /* long enough to hold a file name path */
- #define NUL 0
-
- #define FAIL 0
---- 59,65 ----
- /* ---------------------------------------- */
-
-
-! #define BUFSIZE (MAX_PATH*2) /* long enough to hold a file name path */
- #define NUL 0
-
- #define FAIL 0
-***************
-*** 93,107 ****
- static void *
- alloc(int len)
- {
-! char *s;
-
-! s = malloc(len);
-! if (s == NULL)
- {
- printf("ERROR: out of memory\n");
- exit(1);
- }
-! return (void *)s;
- }
-
- /*
---- 93,107 ----
- static void *
- alloc(int len)
- {
-! void *p;
-
-! p = malloc(len);
-! if (p == NULL)
- {
- printf("ERROR: out of memory\n");
- exit(1);
- }
-! return p;
- }
-
- /*
-***************
-*** 512,518 ****
- do_inits(char **argv)
- {
- /* Find out the full path of our executable. */
-! if (my_fullpath(installdir, argv[0], BUFSIZE) == NULL)
- {
- printf("ERROR: Cannot get name of executable\n");
- myexit(1);
---- 512,518 ----
- do_inits(char **argv)
- {
- /* Find out the full path of our executable. */
-! if (my_fullpath(installdir, argv[0], sizeof(installdir)) == NULL)
- {
- printf("ERROR: Cannot get name of executable\n");
- myexit(1);
-*** ../vim-8.1.0975/src/uninstal.c 2019-02-18 22:19:29.124186022 +0100
---- src/uninstal.c 2019-02-22 19:33:42.519738742 +0100
-***************
-*** 60,70 ****
- * Returns non-zero when it's found.
- */
- static int
-! popup_gvim_path(char *buf)
- {
- HKEY key_handle;
- DWORD value_type;
-- DWORD bufsize = BUFSIZE;
- int r;
-
- /* Open the key where the path to gvim.exe is stored. */
---- 60,69 ----
- * Returns non-zero when it's found.
- */
- static int
-! popup_gvim_path(char *buf, DWORD bufsize)
- {
- HKEY key_handle;
- DWORD value_type;
- int r;
-
- /* Open the key where the path to gvim.exe is stored. */
-***************
-*** 87,97 ****
- * Returns non-zero when it's found.
- */
- static int
-! openwith_gvim_path(char *buf)
- {
- HKEY key_handle;
- DWORD value_type;
-- DWORD bufsize = BUFSIZE;
- int r;
-
- /* Open the key where the path to gvim.exe is stored. */
---- 86,95 ----
- * Returns non-zero when it's found.
- */
- static int
-! openwith_gvim_path(char *buf, DWORD bufsize)
- {
- HKEY key_handle;
- DWORD value_type;
- int r;
-
- /* Open the key where the path to gvim.exe is stored. */
-***************
-*** 209,215 ****
- fd = fopen(path, "r");
- if (fd != NULL)
- {
-! while (fgets(line, BUFSIZE, fd) != NULL)
- {
- for (p = line; *p != 0; ++p)
- /* don't accept "vim60an" when looking for "vim60". */
---- 207,213 ----
- fd = fopen(path, "r");
- if (fd != NULL)
- {
-! while (fgets(line, sizeof(line), fd) != NULL)
- {
- for (p = line; *p != 0; ++p)
- /* don't accept "vim60an" when looking for "vim60". */
-***************
-*** 335,341 ****
-
- printf("This program will remove the following items:\n");
-
-! if (popup_gvim_path(popup_path))
- {
- printf(" - the \"Edit with Vim\" entry in the popup menu\n");
- printf(" which uses \"%s\"\n", popup_path);
---- 333,339 ----
-
- printf("This program will remove the following items:\n");
-
-! if (popup_gvim_path(popup_path, sizeof(popup_path)))
- {
- printf(" - the \"Edit with Vim\" entry in the popup menu\n");
- printf(" which uses \"%s\"\n", popup_path);
-***************
-*** 349,355 ****
- remove_openwith();
- }
- }
-! else if (openwith_gvim_path(popup_path))
- {
- printf(" - the Vim \"Open With...\" entry in the popup menu\n");
- printf(" which uses \"%s\"\n", popup_path);
---- 347,353 ----
- remove_openwith();
- }
- }
-! else if (openwith_gvim_path(popup_path, sizeof(popup_path)))
- {
- printf(" - the Vim \"Open With...\" entry in the popup menu\n");
- printf(" which uses \"%s\"\n", popup_path);
-*** ../vim-8.1.0975/src/version.c 2019-02-22 19:14:46.774074872 +0100
---- src/version.c 2019-02-22 19:34:21.703520330 +0100
-***************
-*** 781,782 ****
---- 781,784 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 976,
- /**/
-
---
-When a fly lands on the ceiling, does it do a half roll or
-a half loop?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///