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,