Mercurial > vim
changeset 10938:3b82ab325d59 v8.0.0358
patch 8.0.0358: invalid memory access in C-indent code
commit https://github.com/vim/vim/commit/60629d642541a089c322e65963c0a77e5f77eb79
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Feb 23 18:08:56 2017 +0100
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 https://github.com/vim/vim/issues/1492)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 23 Feb 2017 18:15:04 +0100 |
parents | ae3832cc9a28 |
children | 86572a2aab2e |
files | src/edit.c src/testdir/test_options.vim src/version.c |
diffstat | 3 files changed, 11 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/edit.c +++ b/src/edit.c @@ -8181,7 +8181,8 @@ in_cinkeys( { if (try_match && *look == keytyped) return TRUE; - ++look; + if (*look != NUL) + ++look; } /*
--- a/src/testdir/test_options.vim +++ b/src/testdir/test_options.vim @@ -135,6 +135,13 @@ func Check_dir_option(name) 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