patch 7.4.2322
Problem: Access memory beyond the end of the line. (Dominique Pelle)
Solution: Adjust the cursor column.
diff --git a/src/move.c b/src/move.c
index 6322acf..a4d5f82 100644
--- a/src/move.c
+++ b/src/move.c
@@ -2479,6 +2479,7 @@
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 ff67102..98cb775 100644
--- a/src/testdir/test_normal.vim
+++ b/src/testdir/test_normal.vim
@@ -398,6 +398,15 @@
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 5628a9d..155d9dd 100644
--- a/src/version.c
+++ b/src/version.c
@@ -764,6 +764,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2322,
+/**/
2321,
/**/
2320,