summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-09-04 14:34:28 +0200
committerBram Moolenaar <Bram@vim.org>2016-09-04 14:34:28 +0200
commitbc54f3f3fed4dc3556df8c46cee6739d211b0eb2 (patch)
tree8cad3ff909debe41bde01b8118e307dc10c77299
parentdac1947bb366ef43cd6da95acc730554e76d8b84 (diff)
patch 7.4.2322v7.4.2322
Problem: Access memory beyond the end of the line. (Dominique Pelle) Solution: Adjust the cursor column.
-rw-r--r--src/move.c1
-rw-r--r--src/testdir/test_normal.vim9
-rw-r--r--src/version.c2
3 files changed, 12 insertions, 0 deletions
diff --git a/src/move.c b/src/move.c
index 6322acf989..a4d5f82997 100644
--- a/src/move.c
+++ b/src/move.c
@@ -2479,6 +2479,7 @@ onepage(int dir, long count)
foldAdjustCursor();
#endif
cursor_correct();
+ check_cursor_col();
if (retval == OK)
beginline(BL_SOL | BL_FIX);
curwin->w_valid &= ~(VALID_WCOL|VALID_WROW|VALID_VIRTCOL);
diff --git a/src/testdir/test_normal.vim b/src/testdir/test_normal.vim
index ff6710218d..98cb7754bb 100644
--- a/src/testdir/test_normal.vim
+++ b/src/testdir/test_normal.vim
@@ -398,6 +398,15 @@ func! Test_normal14_page()
bw!
endfu
+func! Test_normal14_page_eol()
+ 10new
+ norm oxxxxxxx
+ exe "norm 2\<c-f>"
+ " check with valgrind that cursor is put back in column 1
+ exe "norm 2\<c-b>"
+ bw!
+endfunc
+
func! Test_normal15_z_scroll_vert()
" basic test for z commands that scroll the window
call Setup_NewWindow()
diff --git a/src/version.c b/src/version.c
index 5628a9dce3..155d9dda20 100644
--- a/src/version.c
+++ b/src/version.c
@@ -764,6 +764,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2322,
+/**/
2321,
/**/
2320,