Permalink
Browse files

patch 8.0.0324: illegal memory access with a wrong yank range

Problem:    Illegal memory access with "1;y".
Solution:   Call check_cursor() instead of check_cursor_lnum(). (Dominique
            Pelle, closes #1455)
  • Loading branch information...
brammool committed Feb 9, 2017
1 parent 31eb139 commit f1f6f3f7df2938b3583e341482d96c1d53124c51
Showing with 16 additions and 3 deletions.
  1. +2 −2 src/ex_docmd.c
  2. +12 −1 src/testdir/test_cmdline.vim
  3. +2 −0 src/version.c
View
@@ -2295,8 +2295,8 @@ do_one_cmd(
if (!ea.skip)
{
curwin->w_cursor.lnum = ea.line2;
- /* don't leave the cursor on an illegal line */
- check_cursor_lnum();
+ /* don't leave the cursor on an illegal line or column */
+ check_cursor();
}
}
else if (*ea.cmd != ',')
@@ -289,13 +289,24 @@ func Test_remove_char_in_cmdline()
call assert_equal('"def', @:)
endfunc
-func Test_illegal_address()
+func Test_illegal_address1()
new
2;'(
2;')
quit
endfunc
+func Test_illegal_address2()
+ call writefile(['c', 'x', ' x', '.', '1;y'], 'Xtest.vim')
+ new
+ source Xtest.vim
+ " Trigger calling validate_cursor()
+ diffsp Xtest.vim
+ quit!
+ bwipe!
+ call delete('Xtest.vim')
+endfunc
+
func Test_cmdline_complete_wildoptions()
help
call feedkeys(":tag /\<c-a>\<c-b>\"\<cr>", 'tx')
View
@@ -764,6 +764,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 324,
/**/
323,
/**/

0 comments on commit f1f6f3f

Please sign in to comment.