patch 8.0.0358: invalid memory access in C-indent code

Problem:    Invalid memory access in C-indent code.
Solution:   Don't go over end of empty line. (Dominique Pelle, closes #1492)
diff --git a/src/edit.c b/src/edit.c
index 25a123e..c4e7ddd 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -8181,7 +8181,8 @@
 	{
 	    if (try_match && *look == keytyped)
 		return TRUE;
-	    ++look;
+	    if (*look != NUL)
+		++look;
 	}
 
 	/*
diff --git a/src/testdir/test_options.vim b/src/testdir/test_options.vim
index 1ee1f8f..076d8b2 100644
--- a/src/testdir/test_options.vim
+++ b/src/testdir/test_options.vim
@@ -135,6 +135,13 @@
   call assert_fails("set " . a:name . "=/not.*there", "E474:")
 endfunc
 
+func Test_cinkeys()
+  " This used to cause invalid memory access
+  set cindent cinkeys=0
+  norm a
+  set cindent& cinkeys&
+endfunc
+
 func Test_dictionary()
   call Check_dir_option('dictionary')
 endfunc
diff --git a/src/version.c b/src/version.c
index 2d076cc..9de1850 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    358,
+/**/
     357,
 /**/
     356,