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,