[vim/f19] - patchlevel 916
Karsten Hopp
karsten at fedoraproject.org
Wed May 8 15:08:03 UTC 2013
commit 6588f1bd9bd41af8ce0157298eafec8f47780ff4
Author: Karsten Hopp <karsten at redhat.com>
Date: Wed May 8 17:06:44 2013 +0200
- patchlevel 916
7.3.916 | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 115 insertions(+), 0 deletions(-)
---
diff --git a/7.3.916 b/7.3.916
new file mode 100644
index 0000000..3ed5ec1
--- /dev/null
+++ b/7.3.916
@@ -0,0 +1,115 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.916
+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.916
+Problem: Using freed memory when pasting with the mouse (Issue 130).
+Solution: Get the byte value early. (hint by Dominique Pelle)
+Files: src/buffer.c
+
+
+*** ../vim-7.3.915/src/buffer.c 2013-04-15 12:27:30.000000000 +0200
+--- src/buffer.c 2013-04-24 16:45:38.000000000 +0200
+***************
+*** 3506,3512 ****
+ char_u *p;
+ char_u *s;
+ char_u *t;
+! char_u *linecont;
+ #ifdef FEAT_EVAL
+ win_T *o_curwin;
+ buf_T *o_curbuf;
+--- 3506,3512 ----
+ char_u *p;
+ char_u *s;
+ char_u *t;
+! int byteval;
+ #ifdef FEAT_EVAL
+ win_T *o_curwin;
+ buf_T *o_curbuf;
+***************
+*** 3573,3584 ****
+ fillchar = '-';
+ #endif
+
+! /*
+! * Get line & check if empty (cursorpos will show "0-1").
+! * If inversion is possible we use it. Else '=' characters are used.
+! */
+! linecont = ml_get_buf(wp->w_buffer, wp->w_cursor.lnum, FALSE);
+! empty_line = (*linecont == NUL);
+
+ groupdepth = 0;
+ p = out;
+--- 3573,3593 ----
+ fillchar = '-';
+ #endif
+
+! /* Get line & check if empty (cursorpos will show "0-1"). Note that
+! * p will become invalid when getting another buffer line. */
+! p = ml_get_buf(wp->w_buffer, wp->w_cursor.lnum, FALSE);
+! empty_line = (*p == NUL);
+!
+! /* Get the byte value now, in case we need it below. This is more
+! * efficient than making a copy of the line. */
+! if (wp->w_cursor.col > (colnr_T)STRLEN(p))
+! byteval = 0;
+! else
+! #ifdef FEAT_MBYTE
+! byteval = (*mb_ptr2char)(p + wp->w_cursor.col);
+! #else
+! byteval = p[wp->w_cursor.col];
+! #endif
+
+ groupdepth = 0;
+ p = out;
+***************
+*** 3956,3971 ****
+ case STL_BYTEVAL_X:
+ base = 'X';
+ case STL_BYTEVAL:
+! if (wp->w_cursor.col > (colnr_T)STRLEN(linecont))
+! num = 0;
+! else
+! {
+! #ifdef FEAT_MBYTE
+! num = (*mb_ptr2char)(linecont + wp->w_cursor.col);
+! #else
+! num = linecont[wp->w_cursor.col];
+! #endif
+! }
+ if (num == NL)
+ num = 0;
+ else if (num == CAR && get_fileformat(wp->w_buffer) == EOL_MAC)
+--- 3965,3971 ----
+ case STL_BYTEVAL_X:
+ base = 'X';
+ case STL_BYTEVAL:
+! num = byteval;
+ if (num == NL)
+ num = 0;
+ else if (num == CAR && get_fileformat(wp->w_buffer) == EOL_MAC)
+*** ../vim-7.3.915/src/version.c 2013-04-24 16:33:58.000000000 +0200
+--- src/version.c 2013-04-24 16:51:24.000000000 +0200
+***************
+*** 730,731 ****
+--- 730,733 ----
+ { /* Add new patch number below this line */
++ /**/
++ 916,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+228. You spend Saturday night making the counter on your home page
+ pass that 2000 mark.
+
+ /// 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