diff options
| author | James McCoy <jamessan@jamessan.com> | 2017-03-10 17:26:22 -0500 |
|---|---|---|
| committer | James McCoy <jamessan@jamessan.com> | 2017-03-11 20:32:38 -0500 |
| commit | 2ed2b1d505cc028347b579f677eb8e6bde9dacdd (patch) | |
| tree | 90636600427eae51716a16beb659fe7dd8cb2192 /src/nvim/testdir | |
| parent | eaf1f9b9dc62b2201fa54374a88029de1b3f94fb (diff) | |
| download | rneovim-2ed2b1d505cc028347b579f677eb8e6bde9dacdd.tar.gz rneovim-2ed2b1d505cc028347b579f677eb8e6bde9dacdd.tar.bz2 rneovim-2ed2b1d505cc028347b579f677eb8e6bde9dacdd.zip | |
vim-patch:7.4.2223
Problem: Buffer overflow when using latin1 character with feedkeys().
Solution: Check for an illegal character. Add a test.
https://github.com/vim/vim/commit/d3c907b5d2b352482b580a0cf687cbbea4c19ea1
Diffstat (limited to 'src/nvim/testdir')
| -rw-r--r-- | src/nvim/testdir/test_alot.vim | 1 | ||||
| -rw-r--r-- | src/nvim/testdir/test_regexp_utf8.vim | 15 | ||||
| -rw-r--r-- | src/nvim/testdir/test_source_utf8.vim | 33 |
3 files changed, 34 insertions, 15 deletions
diff --git a/src/nvim/testdir/test_alot.vim b/src/nvim/testdir/test_alot.vim index 3da9b82a9f..3d3aa3449e 100644 --- a/src/nvim/testdir/test_alot.vim +++ b/src/nvim/testdir/test_alot.vim @@ -21,6 +21,7 @@ source test_options.vim source test_partial.vim source test_popup.vim source test_regexp_utf8.vim +source test_source_utf8.vim source test_statusline.vim source test_syn_attr.vim source test_tabline.vim diff --git a/src/nvim/testdir/test_regexp_utf8.vim b/src/nvim/testdir/test_regexp_utf8.vim index ecc7ed3e53..9e9a3de500 100644 --- a/src/nvim/testdir/test_regexp_utf8.vim +++ b/src/nvim/testdir/test_regexp_utf8.vim @@ -90,21 +90,6 @@ func Test_classes_re2() set re=0 endfunc -func Test_source_utf8() - " check that sourcing a script with 0x80 as second byte works - new - call setline(1, [':%s/àx/--à1234--/g', ':%s/Àx/--À1234--/g']) - write! Xscript - bwipe! - new - call setline(1, [' àx ', ' Àx ']) - source! Xscript | echo - call assert_equal(' --à1234-- ', getline(1)) - call assert_equal(' --À1234-- ', getline(2)) - bwipe! - call delete('Xscript') -endfunc - func Test_recursive_substitute() new s/^/\=execute("s#^##gn") diff --git a/src/nvim/testdir/test_source_utf8.vim b/src/nvim/testdir/test_source_utf8.vim new file mode 100644 index 0000000000..edb76fc43d --- /dev/null +++ b/src/nvim/testdir/test_source_utf8.vim @@ -0,0 +1,33 @@ +" Test the :source! command +if !has('multi_byte') + finish +endif + +func Test_source_utf8() + " check that sourcing a script with 0x80 as second byte works + new + call setline(1, [':%s/àx/--à1234--/g', ':%s/Àx/--À1234--/g']) + write! Xscript + bwipe! + new + call setline(1, [' àx ', ' Àx ']) + source! Xscript | echo + call assert_equal(' --à1234-- ', getline(1)) + call assert_equal(' --À1234-- ', getline(2)) + bwipe! + call delete('Xscript') +endfunc + +func Test_source_latin() + " check that sourcing a latin1 script with a 0xc0 byte works + new + call setline(1, ["call feedkeys('r')", "call feedkeys('\xc0', 'xt')"]) + write! Xscript + bwipe! + new + call setline(1, ['xxx']) + source Xscript + call assert_equal("\u00c0xx", getline(1)) + bwipe! + call delete('Xscript') +endfunc |