diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-03-31 22:27:12 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-03-31 22:27:12 +0200 |
commit | 658a3a2caf5852d071b6b1be92d9d6614a6208dc (patch) | |
tree | c78aa94abed7966b0b6c69fe2b56d720e6d91666 /src/testdir/test_edit.vim | |
parent | 13489b9c41922b9ecb16fa47564ec76641515c08 (diff) |
patch 8.0.0530: buffer overflow when 'columns' is very bigv8.0.0530
Problem: Buffer overflow when 'columns' is very big. (Nikolai Pavlov)
Solution: Correctly compute where to truncate. Fix translation.
(closes #1600)
Diffstat (limited to 'src/testdir/test_edit.vim')
-rw-r--r-- | src/testdir/test_edit.vim | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/testdir/test_edit.vim b/src/testdir/test_edit.vim index 344c12664c..b43f84ba2f 100644 --- a/src/testdir/test_edit.vim +++ b/src/testdir/test_edit.vim @@ -1322,3 +1322,24 @@ func! Test_edit_rightleft() set norightleft bw! endfunc + +func Test_edit_complete_very_long_name() + let save_columns = &columns + set columns=5000 + call assert_equal(5000, &columns) + set noswapfile + let dirname = getcwd() . "/Xdir" + let longdirname = dirname . repeat('/' . repeat('d', 255), 4) + let longfilename = longdirname . '/' . repeat('a', 255) + call mkdir(longdirname, 'p') + call writefile(['Totum', 'Table'], longfilename) + new + exe "next Xfile " . longfilename + exe "normal iT\<C-N>" + + bwipe! + exe 'bwipe! ' . longfilename + call delete(dirname, 'rf') + let &columns = save_columns + set swapfile& +endfunc |