[vim] - patchlevel 365

Karsten Hopp karsten at fedoraproject.org
Fri Dec 23 21:32:19 UTC 2011


commit 756952d8edc9699f32b5782ea2ed51bc99c86632
Author: Karsten Hopp <karsten at redhat.com>
Date:   Fri Dec 23 22:30:53 2011 +0100

    - patchlevel 365

 7.3.365 |  131 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 131 insertions(+), 0 deletions(-)
---
diff --git a/7.3.365 b/7.3.365
new file mode 100644
index 0000000..16d5ad1
--- /dev/null
+++ b/7.3.365
@@ -0,0 +1,131 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.365
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.3.365
+Problem:    Crash when using a large Unicode character in a file that has
+	    syntax highlighting. (ngollan)
+Solution:   Check for going past the end of the utf tables. (Dominique Pelle)
+Files:	    src/mbyte.c
+
+
+*** ../vim-7.3.364/src/mbyte.c	2011-08-10 13:21:30.000000000 +0200
+--- src/mbyte.c	2011-12-08 15:09:13.000000000 +0100
+***************
+*** 2764,2782 ****
+      int			tableSize;
+  {
+      int start, mid, end; /* indices into table */
+  
+      start = 0;
+!     end = tableSize / sizeof(convertStruct);
+      while (start < end)
+      {
+  	/* need to search further */
+! 	mid = (end + start) /2;
+  	if (table[mid].rangeEnd < a)
+  	    start = mid + 1;
+  	else
+  	    end = mid;
+      }
+!     if (table[start].rangeStart <= a && a <= table[start].rangeEnd
+  	    && (a - table[start].rangeStart) % table[start].step == 0)
+  	return (a + table[start].offset);
+      else
+--- 2764,2785 ----
+      int			tableSize;
+  {
+      int start, mid, end; /* indices into table */
++     int entries = tableSize / sizeof(convertStruct);
+  
+      start = 0;
+!     end = entries;
+      while (start < end)
+      {
+  	/* need to search further */
+! 	mid = (end + start) / 2;
+  	if (table[mid].rangeEnd < a)
+  	    start = mid + 1;
+  	else
+  	    end = mid;
+      }
+!     if (start < entries
+! 	    && table[start].rangeStart <= a
+! 	    && a <= table[start].rangeEnd
+  	    && (a - table[start].rangeStart) % table[start].step == 0)
+  	return (a + table[start].offset);
+      else
+***************
+*** 2791,2797 ****
+  utf_fold(a)
+      int		a;
+  {
+!     return utf_convert(a, foldCase, sizeof(foldCase));
+  }
+  
+  static convertStruct toLower[] =
+--- 2794,2800 ----
+  utf_fold(a)
+      int		a;
+  {
+!     return utf_convert(a, foldCase, (int)sizeof(foldCase));
+  }
+  
+  static convertStruct toLower[] =
+***************
+*** 3119,3125 ****
+  	return TOUPPER_LOC(a);
+  
+      /* For any other characters use the above mapping table. */
+!     return utf_convert(a, toUpper, sizeof(toUpper));
+  }
+  
+      int
+--- 3122,3128 ----
+  	return TOUPPER_LOC(a);
+  
+      /* For any other characters use the above mapping table. */
+!     return utf_convert(a, toUpper, (int)sizeof(toUpper));
+  }
+  
+      int
+***************
+*** 3152,3158 ****
+  	return TOLOWER_LOC(a);
+  
+      /* For any other characters use the above mapping table. */
+!     return utf_convert(a, toLower, sizeof(toLower));
+  }
+  
+      int
+--- 3155,3161 ----
+  	return TOLOWER_LOC(a);
+  
+      /* For any other characters use the above mapping table. */
+!     return utf_convert(a, toLower, (int)sizeof(toLower));
+  }
+  
+      int
+*** ../vim-7.3.364/src/version.c	2011-12-01 20:59:16.000000000 +0100
+--- src/version.c	2011-12-08 15:07:53.000000000 +0100
+***************
+*** 716,717 ****
+--- 716,719 ----
+  {   /* Add new patch number below this line */
++ /**/
++     365,
+  /**/
+
+-- 
+Hear about the guy who played a blank tape at full blast?
+The mime next door went nuts.
+
+ /// Bram Moolenaar -- Bram at 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    ///


More information about the scm-commits mailing list