summaryrefslogtreecommitdiffstats
path: root/source/ap/vim/patches/7.2.113
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/vim/patches/7.2.113')
-rw-r--r--source/ap/vim/patches/7.2.11399
1 files changed, 99 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.2.113 b/source/ap/vim/patches/7.2.113
new file mode 100644
index 000000000..f0e4ebf31
--- /dev/null
+++ b/source/ap/vim/patches/7.2.113
@@ -0,0 +1,99 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.113
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.113
+Problem: Crash for substitute() call using submatch(1) while there is no
+ such submatch. (Yukihiro Nakadaira)
+Solution: Also check the start of the submatch is set, it can be NULL when
+ an attempted match didn't work out.
+Files: src/regexp.c
+
+
+*** ../vim-7.2.112/src/regexp.c Fri Aug 8 13:45:31 2008
+--- src/regexp.c Sat Feb 21 21:46:49 2009
+***************
+*** 4532,4538 ****
+ cleanup_subexpr();
+ if (!REG_MULTI) /* Single-line regexp */
+ {
+! if (reg_endp[no] == NULL)
+ {
+ /* Backref was not set: Match an empty string. */
+ len = 0;
+--- 4532,4538 ----
+ cleanup_subexpr();
+ if (!REG_MULTI) /* Single-line regexp */
+ {
+! if (reg_startp[no] == NULL || reg_endp[no] == NULL)
+ {
+ /* Backref was not set: Match an empty string. */
+ len = 0;
+***************
+*** 4548,4554 ****
+ }
+ else /* Multi-line regexp */
+ {
+! if (reg_endpos[no].lnum < 0)
+ {
+ /* Backref was not set: Match an empty string. */
+ len = 0;
+--- 4548,4554 ----
+ }
+ else /* Multi-line regexp */
+ {
+! if (reg_startpos[no].lnum < 0 || reg_endpos[no].lnum < 0)
+ {
+ /* Backref was not set: Match an empty string. */
+ len = 0;
+***************
+*** 7279,7291 ****
+ }
+ else
+ {
+! if (submatch_match->endp[no] == NULL)
+ retval = NULL;
+ else
+- {
+- s = submatch_match->startp[no];
+ retval = vim_strnsave(s, (int)(submatch_match->endp[no] - s));
+- }
+ }
+
+ return retval;
+--- 7279,7289 ----
+ }
+ else
+ {
+! s = submatch_match->startp[no];
+! if (s == NULL || submatch_match->endp[no] == NULL)
+ retval = NULL;
+ else
+ retval = vim_strnsave(s, (int)(submatch_match->endp[no] - s));
+ }
+
+ return retval;
+*** ../vim-7.2.112/src/version.c Sat Feb 21 21:22:44 2009
+--- src/version.c Sat Feb 21 22:01:56 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 113,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+103. When you find yourself in the "Computer" section of Barnes & Noble
+ enjoying yourself.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///