aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* vim-patch:8.0.0212: buffer for key name may be too small (#8009)KunMing Xie2018-02-18
| | | | | | | | | Problem: The buffer used to store a key name theoreticaly could be too small. (Coverity) Solution: Count all possible modifier characters. Add a check for the length just in case. https://github.com/vim/vim/commit/423977d3cebac2be1158b1d11da60fe96db4b750
* vim-patch-8.0.0649 and vim-patch-8.0.0650: autocmd open help 2 timesNimit Bhardwaj2018-02-17
|
* vim-patch:8.0.0323: one second pause when running cmdline test (#8015)Danish Prakash2018-02-16
| | | | | | Problem: When running the command line tests there is a one second wait. Solution: Change an Esc to Ctrl-C. (Yegappan Lakshmanan) https://github.com/vim/vim/commit/31eb139b8877439d06db0ca57692dfe35fec3f0c
* Merge pull request #8008 from bfredl/arrayfreeBjörn Linse2018-02-14
|\ | | | | ex_getln: clear cmdline_block after it's freed
| * ex_getln: clear cmdline_block after it's freedBjörn Linse2018-02-14
| |
* | ui: refactor ui optionsBjörn Linse2018-02-13
|/
* Merge #8001 from justinmk/vimpatchesJustin M. Keyes2018-02-12
|\
| * lintJustin M. Keyes2018-02-12
| |
| * vim-patch:8.0.1271: still too many old style testsJustin M. Keyes2018-02-12
| | | | | | | | | | | | | | | | Problem: Still too many old style tests. Solution: Convert a few more tests to new style. (Yegappan Lakshmanan, closes vim/vim#2290) https://github.com/vim/vim/commit/fb094e14c19337de824d4e6710ca6a2617930ab0
| * test/old: skip encoding=latin1 testJustin M. Keyes2018-02-11
| |
| * vim-patch:8.0.1302: still too many old style testsJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | | | Problem: Still too many old style tests. Solution: Convert a few more tests to new style. (Yegappan Lakshmanan, closes vim/vim#2326) https://github.com/vim/vim/commit/209d3874c19d73b209e7d223cf05ea22e183f408
| * vim-patch:8.0.1205: it is possible to unload a changed bufferJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | Problem: Using "1q" it is possible to unload a changed buffer. (Rick Howe) Solution: Check the right window for changes. https://github.com/vim/vim/commit/ff930cad8a9100eeb04256aab1a14de993c1d7e9
| * vim-patch:8.0.0858: can exit while a terminal is still running a jobJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | Problem: Can exit while a terminal is still running a job. Solution: Consider a buffer with a running job like a changed file. https://github.com/vim/vim/commit/eb44a68b42eda207a5bc4def9ea8fc4d38acb650
| * vim-patch:8.0.1226: edit and popup tests failingJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | Problem: Edit and popup tests failing. Solution: Make the tests pass. https://github.com/vim/vim/commit/2a45d64d0a7ab28d77eee277244e76dbbf8c2db8
| * vim-patch:8.0.1333: some tests are run twiceJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | | | Problem: Some tests are run twice. Solution: Invoked most utf8 tests only from test_alot_utf8. (Yegappan Lakshmanan, closes vim/vim#2369) https://github.com/vim/vim/commit/2c997d76034d5294c92305108357daef6feabd95
| * vim-patch:8.0.0311: linebreak tests are old styleJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | | | Problem: Linebreak tests are old style. Solution: Turn the tests into new style. Share utility functions. (Ozaki Kiichi, closes vim/vim#1444) https://github.com/vim/vim/commit/544d3bc9f0e494cb712a33b61558b8e8e12b1e0b
| * vim-patch:26a280c47a1cJustin M. Keyes2018-02-11
| | | | | | | | | | | | Fix duplication of patch. https://github.com/vim/vim/commit/26a280c47a1c6e32cdced79032dc495c60710d0d
| * vim-patch:8.0.0699: checksum tests are not actually runJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | Problem: Checksum tests are not actually run. Solution: Add the tests to the list. (Dominique Pelle, closes vim/vim#1819) https://github.com/vim/vim/commit/710b4a16465fb38492801a0dccf2293397aadc6a
| * vim-patch:8.0.0684: old style tests are not niceJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | Problem: Old style tests are not nice. Solution: Turn two tests into new style. (pschuh, closes vim/vim#1797) https://github.com/vim/vim/commit/28b238225ae618f63cfe5d3d723120960a941da7
| * vim-patch:8.0.0446: the ";" command does not work after some charactersJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | | | | | Problem: The ";" command does not work after characters with a lower byte that is NUL. Solution: Properly check for not having a previous character. (Hirohito Higashi) https://github.com/vim/vim/commit/454709baffd3205bf2b7d2519419675a122f2bd2
| * test/old: restore test_alot_utf8.vimJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | | | | | | | | | | | Needed for later Vim patches. Stub test_alot_latin.vim to avoid merge-conflict noise. vim-patch:7.4.1700 vim-patch:7.4.1734 vim-patch:7.4.1740 vim-patch:7.4.2086 vim-patch:7.4.2223 vim-patch:8.0.0250
* | Merge #7966 'vim-patch:8.0.0470,8.0.0471'Justin M. Keyes2018-02-12
|\ \
| * | use split instead of smile for neovimKunMing Xie2018-02-06
| | |
| * | vim-patch:8.0.0471: exit callback test sometimes failsckelsel2018-02-04
| | | | | | | | | | | | | | | | | | | | | Problem: Exit callback test sometimes fails. Solution: Add it to the list of flaky tests. https://github.com/vim/vim/commit/0529b3eb01fcfd18c0644f8ece9ea107dd460a0f
| * | vim-patch:8.0.0470: not enough testing for help commandsckelsel2018-02-04
| | | | | | | | | | | | | | | | | | | | | Problem: Not enough testing for help commands. Solution: Add a few more help tests. (Dominique Pelle, closes vim/vim#1565) https://github.com/vim/vim/commit/751ba616d1c47de2c273b269df06c36a7ed141a2
* | | vim-patch:8.0.0490: vertical split makes 'winfixwidth' window smaller (#7990)KunMing Xie2018-02-12
| |/ |/| | | | | | | | | | | | | Problem: Splitting a 'winfixwidth' window vertically makes it one column smaller. (Dominique Pelle) Solution: Add one to the width for the separator. https://github.com/vim/vim/commit/38e3483637c16e018f88c07b1dcff97cdb821a29
* | lintJustin M. Keyes2018-02-11
| |
* | vim-patch:8.0.0479: remote_peek() is not testedJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | Problem: remote_peek() is not tested. Solution: Add a test. https://github.com/vim/vim/commit/6caf606b144bbe2bf3ac515a194f5ff18fdfd331
* | vim-patch:8.0.0295: test_viml hangsJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | Problem: test_viml hangs. Solution: Put resetting 'more' before sourcing the script. https://github.com/vim/vim/commit/7a073549a3b1e72037a4e98ceb406d057ac9ba50
* | vim-patch:8.0.0293: some tests have a one or three second waitJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | | | Problem: Some tests have a one or three second wait. Solution: Reset the 'showmode' option. Use a test time of one to disable sleep after an error or warning message. https://github.com/vim/vim/commit/e5f2a075e35aa903e8d5a63bef1a438344bba5fb
* | vim-patch:8.0.1370: channel test for callback is flakyJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | Problem: Channel test for callback is flaky. Solution: Add the test to thelist of flaky tests. https://github.com/vim/vim/commit/1eca6f13d62d2201f3bf0e83400c2e3de7df3951
* | vim-patch:8.0.1365: when one channel test fails others fail as wellJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | | | Problem: When one channel test fails others fail as well. Solution: Stop the job after a failure. Also add a couple of tests to the list of flaky tests. https://github.com/vim/vim/commit/24820691e6ba9dae41ef16a3d3e55589843b34f4
* | vim-patch:8.0.1329: when a flaky test fails it also often fails the second timeJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | Problem: When a flaky test fails it also often fails the second time. Solution: Sleep a couple of seconds before the second try. https://github.com/vim/vim/commit/550586015232ecc4f68b3479fa8ba2cf81c76e7b
* | vim-patch:8.0.0480: the remote_peek() test fails on MS-WindowsJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | | | Problem: The remote_peek() test fails on MS-Windows. Solution: Check for pending messages. Also report errors in the first run if a flaky test fails twice. https://github.com/vim/vim/commit/15e737f768542fcc516296b5c158e14cc7ba7feb
* | vim-patch:7.4.1477Justin M. Keyes2018-02-11
| | | | | | | | | | | | | | Problem: Test_reltime is flaky, it depends on timing. Solution: When it fails run it a second time. https://github.com/vim/vim/commit/b5760a1ce5b700fc32b8bd11948ee189a847c59e
* | vim-patch:8.0.1262: terminal redir test is flakyJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | Problem: Terminal redir test is flaky. Solution: Add it to the list of flaky tests. https://github.com/vim/vim/commit/7dd88c5133feda7e9ccfedcb38b6dfdba459d507
* | vim-patch:8.0.1219: terminal test is flakyJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | Problem: Terminal test is flaky. Solution: Add test function to list of flaky tests. https://github.com/vim/vim/commit/f204e05ae9f6bc5d922d14d457e16b590efbf3e5
* | vim-patch:8.0.0975: using freed memory when setting 'backspace'Justin M. Keyes2018-02-11
| | | | | | | | | | | | | | Problem: Using freed memory when setting 'backspace'. Solution: When changing oldval also change origval. https://github.com/vim/vim/commit/edbc0d46cffe1766d0b330dc2842212cff644f8e
* | vim-patch:8.0.1188: autocmd test fails on MS-WindowsJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | | | Problem: Autocmd test fails on MS-Windows. Solution: Give the buffer a name and find the buffer to be wiped out by name. https://github.com/vim/vim/commit/1d68d9b2bd60d848552c08763e590edde16056c9
* | test/old: skip test for unsupported 'cpoptions' flagJustin M. Keyes2018-02-11
| |
* | vim-patch:8.0.1200: tests switch the bell off twiceJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | Problem: Tests switch the bell off twice. Solution: Don't set 'belloff' in individual tests. (Christian Brabandt) https://github.com/vim/vim/commit/67418d97b457d2e27fe342472d3c9fd342ffc47f
* | test/old: TODO: skip Test_BufLeave_Wipe()Justin M. Keyes2018-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test exposes a bug (present on current master). Steps to reproduce: CC=clang make CMAKE_BUILD_TYPE=Debug CMAKE_EXTRA_FLAGS="-DCLANG_ASAN_UBSAN=ON" export ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-5.0/bin/llvm-symbolizer TEST_FILE=test_autocmd.res make oldtest ==3668==ERROR: AddressSanitizer: heap-use-after-free on address 0x6260001411c8 at pc 0x000000a38a47 bp 0x7fff9982ee50 sp 0x7fff9982ee48 READ of size 4 at 0x6260001411c8 thread T0 0 0xa38a46 in _typval_encode_nothing_convert_one_value /home/vagrant/neovim/build/../src/nvim/eval/typval_encode.c.h:320:15 1 0xa340d5 in encode_vim_to_nothing /home/vagrant/neovim/build/../src/nvim/eval/typval_encode.c.h:830:9 2 0xa0ad63 in tv_clear /home/vagrant/neovim/build/../src/nvim/eval/typval.c:2189:25 3 0x85d584 in vars_clear_ext /home/vagrant/neovim/build/../src/nvim/eval.c:18894:9 4 0x7efac9 in vars_clear /home/vagrant/neovim/build/../src/nvim/eval.c:18871:3 5 0x7ef471 in eval_clear /home/vagrant/neovim/build/../src/nvim/eval.c:638:3 6 0xf80a7c in free_all_mem /home/vagrant/neovim/build/../src/nvim/memory.c:676:3 7 0x12789dc in mch_exit /home/vagrant/neovim/build/../src/nvim/os_unix.c:152:3 8 0xe85039 in getout /home/vagrant/neovim/build/../src/nvim/main.c:671:3 9 0xbb4496 in ex_quit_all /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:6051:5 10 0xb4ba9c in do_one_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2242:5 11 0xb2dd03 in do_cmdline /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:609:20 12 0x845302 in call_user_func /home/vagrant/neovim/build/../src/nvim/eval.c:21332:3 13 0x81097b in call_func /home/vagrant/neovim/build/../src/nvim/eval.c:6358:11 14 0x825778 in get_func_tv /home/vagrant/neovim/build/../src/nvim/eval.c:6120:11 15 0x81e361 in ex_call /home/vagrant/neovim/build/../src/nvim/eval.c:2735:9 16 0xb4ba9c in do_one_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2242:5 17 0xb2dd03 in do_cmdline /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:609:20 18 0xb17fdd in do_source /home/vagrant/neovim/build/../src/nvim/ex_cmds2.c:2973:3 19 0xb14630 in cmd_source /home/vagrant/neovim/build/../src/nvim/ex_cmds2.c:2718:14 20 0xb14727 in ex_source /home/vagrant/neovim/build/../src/nvim/ex_cmds2.c:2699:3 21 0xb4ba9c in do_one_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2242:5 22 0xb2dd03 in do_cmdline /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:609:20 23 0xb34015 in do_cmdline_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:280:10 24 0xe829d3 in exe_commands /home/vagrant/neovim/build/../src/nvim/main.c:1702:5 25 0xe708bd in main /home/vagrant/neovim/build/../src/nvim/main.c:524:5 26 0x7f0cd5b7e82f in __libc_start_main /build/glibc-Cl5G7W/glibc-2.23/csu/../csu/libc-start.c:291 27 0x44d628 in _start (/home/vagrant/neovim/build/bin/nvim+0x44d628) 0x6260001411c8 is located 200 bytes inside of 10256-byte region [0x626000141100,0x626000143910) freed by thread T0 here: 0 0x50df60 in __interceptor_cfree.localalias.0 (/home/vagrant/neovim/build/bin/nvim+0x50df60) 1 0xf7dbe4 in xfree /home/vagrant/neovim/build/../src/nvim/memory.c:133:3 2 0x676577 in free_buffer /home/vagrant/neovim/build/../src/nvim/buffer.c:749:5 3 0x66e15b in close_buffer /home/vagrant/neovim/build/../src/nvim/buffer.c:590:5 4 0x67a835 in do_buffer /home/vagrant/neovim/build/../src/nvim/buffer.c:1216:9 5 0x681a1d in do_bufdel /home/vagrant/neovim/build/../src/nvim/buffer.c:945:16 6 0xb9cd72 in ex_bunload /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:4585:17 7 0xb4ba9c in do_one_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2242:5 8 0xb2dd03 in do_cmdline /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:609:20 9 0x845302 in call_user_func /home/vagrant/neovim/build/../src/nvim/eval.c:21332:3 10 0x81097b in call_func /home/vagrant/neovim/build/../src/nvim/eval.c:6358:11 11 0x825778 in get_func_tv /home/vagrant/neovim/build/../src/nvim/eval.c:6120:11 12 0x81e361 in ex_call /home/vagrant/neovim/build/../src/nvim/eval.c:2735:9 13 0xb4ba9c in do_one_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2242:5 14 0xb2dd03 in do_cmdline /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:609:20 15 0x8646b1 in ex_execute /home/vagrant/neovim/build/../src/nvim/eval.c:19478:7 16 0xb4ba9c in do_one_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2242:5 17 0xb2dd03 in do_cmdline /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:609:20 18 0x845302 in call_user_func /home/vagrant/neovim/build/../src/nvim/eval.c:21332:3 19 0x81097b in call_func /home/vagrant/neovim/build/../src/nvim/eval.c:6358:11 20 0x825778 in get_func_tv /home/vagrant/neovim/build/../src/nvim/eval.c:6120:11 21 0x81e361 in ex_call /home/vagrant/neovim/build/../src/nvim/eval.c:2735:9 22 0xb4ba9c in do_one_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2242:5 23 0xb2dd03 in do_cmdline /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:609:20 24 0xb17fdd in do_source /home/vagrant/neovim/build/../src/nvim/ex_cmds2.c:2973:3 25 0xb14630 in cmd_source /home/vagrant/neovim/build/../src/nvim/ex_cmds2.c:2718:14 26 0xb14727 in ex_source /home/vagrant/neovim/build/../src/nvim/ex_cmds2.c:2699:3 27 0xb4ba9c in do_one_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2242:5 28 0xb2dd03 in do_cmdline /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:609:20 29 0xb34015 in do_cmdline_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:280:10 previously allocated by thread T0 here: 0 0x50e340 in calloc (/home/vagrant/neovim/build/bin/nvim+0x50e340) 1 0xf7dc97 in xcalloc /home/vagrant/neovim/build/../src/nvim/memory.c:147:15 2 0x67eb65 in buflist_new /home/vagrant/neovim/build/../src/nvim/buffer.c:1641:11 3 0xa8fdcc in do_ecmd /home/vagrant/neovim/build/../src/nvim/ex_cmds.c:2221:13 4 0x683b21 in empty_curbuf /home/vagrant/neovim/build/../src/nvim/buffer.c:1031:12 5 0x67a098 in do_buffer /home/vagrant/neovim/build/../src/nvim/buffer.c:1196:14 6 0x68173f in do_bufdel /home/vagrant/neovim/build/../src/nvim/buffer.c:927:11 7 0xb9cd72 in ex_bunload /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:4585:17 8 0xb4ba9c in do_one_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2242:5 9 0xb2dd03 in do_cmdline /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:609:20 10 0x845302 in call_user_func /home/vagrant/neovim/build/../src/nvim/eval.c:21332:3 11 0x81097b in call_func /home/vagrant/neovim/build/../src/nvim/eval.c:6358:11 12 0x825778 in get_func_tv /home/vagrant/neovim/build/../src/nvim/eval.c:6120:11 13 0x81e361 in ex_call /home/vagrant/neovim/build/../src/nvim/eval.c:2735:9 14 0xb4ba9c in do_one_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2242:5 15 0xb2dd03 in do_cmdline /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:609:20 16 0x8646b1 in ex_execute /home/vagrant/neovim/build/../src/nvim/eval.c:19478:7 17 0xb4ba9c in do_one_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2242:5 18 0xb2dd03 in do_cmdline /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:609:20 19 0x845302 in call_user_func /home/vagrant/neovim/build/../src/nvim/eval.c:21332:3 20 0x81097b in call_func /home/vagrant/neovim/build/../src/nvim/eval.c:6358:11 21 0x825778 in get_func_tv /home/vagrant/neovim/build/../src/nvim/eval.c:6120:11 22 0x81e361 in ex_call /home/vagrant/neovim/build/../src/nvim/eval.c:2735:9 23 0xb4ba9c in do_one_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2242:5 24 0xb2dd03 in do_cmdline /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:609:20 25 0xb17fdd in do_source /home/vagrant/neovim/build/../src/nvim/ex_cmds2.c:2973:3 26 0xb14630 in cmd_source /home/vagrant/neovim/build/../src/nvim/ex_cmds2.c:2718:14 27 0xb14727 in ex_source /home/vagrant/neovim/build/../src/nvim/ex_cmds2.c:2699:3 28 0xb4ba9c in do_one_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2242:5 29 0xb2dd03 in do_cmdline /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:609:20 SUMMARY: AddressSanitizer: heap-use-after-free /home/vagrant/neovim/build/../src/nvim/eval/typval_encode.c.h:320:15 in _typval_encode_nothing_convert_one_va lue Shadow bytes around the buggy address: 0x0c4c800201e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c4c800201f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c4c80020200: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c4c80020210: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c4c80020220: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd =>0x0c4c80020230: fd fd fd fd fd fd fd fd fd[fd]fd fd fd fd fd fd 0x0c4c80020240: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c4c80020250: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c4c80020260: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c4c80020270: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c4c80020280: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb ==3668==ABORTING
* | test/old: TODO: skip Test_virtual_replace()Justin M. Keyes2018-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test exposes a bug (present on current master) in ins_char_bytes() or somewhere earlier. Steps to reproduce: inoremap <C-D> <Del> enew! exe "normal a\nabcdefghi\njk\tlmn\n opq rst\n\<C-D>uvwxyz" call cursor(1,1) exe "normal gR0\<C-D> 1\nA\nBCDEFGHIJ\n\tKL\nMNO\nPQR" or run `TEST_FILE=test_visual.res make oldtest`. Executing Test_virtual_replace() 2 buffers wiped out================================================================= ==31341==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6020000c4f34 at pc 0x0000004f7971 bp 0x7ffdf87bb190 sp 0x7ffdf87ba940 WRITE of size 1 at 0x6020000c4f34 thread T0 0 0x4f7970 in __asan_memmove (/home/vagrant/neovim/build/bin/nvim+0x4f7970) 1 0xfde7a3 in ins_char_bytes /home/vagrant/neovim/build/../src/nvim/misc1.c:1488:3 2 0xfdef41 in ins_char /home/vagrant/neovim/build/../src/nvim/misc1.c:1403:3 3 0x79dd03 in insertchar /home/vagrant/neovim/build/../src/nvim/edit.c:5285:7 4 0x7be70f in insert_special /home/vagrant/neovim/build/../src/nvim/edit.c:5071:5 5 0x7bd94a in insert_handle_key /home/vagrant/neovim/build/../src/nvim/edit.c:1229:7 6 0x76df14 in insert_execute /home/vagrant/neovim/build/../src/nvim/edit.c:764:10 7 0x173cda9 in state_enter /home/vagrant/neovim/build/../src/nvim/state.c:67:26 8 0x77601d in insert_enter /home/vagrant/neovim/build/../src/nvim/edit.c:458:5 9 0x76986e in edit /home/vagrant/neovim/build/../src/nvim/edit.c:1327:3 10 0x1118661 in invoke_edit /home/vagrant/neovim/build/../src/nvim/normal.c:7591:7 11 0x10e60bc in nv_Replace /home/vagrant/neovim/build/../src/nvim/normal.c:6070:7 12 0x10f235d in nv_g_cmd /home/vagrant/neovim/build/../src/nvim/normal.c:6541:5 13 0x10c0eaa in normal_execute /home/vagrant/neovim/build/../src/nvim/normal.c:1136:3 14 0x10b8444 in normal_cmd /home/vagrant/neovim/build/../src/nvim/normal.c:7995:9 15 0xb80982 in exec_normal /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:8197:5 16 0xb8065b in exec_normal_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:8180:3 17 0xbb08df in ex_normal /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:8098:7 18 0xb4ba9c in do_one_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2242:5 19 0xb2dd03 in do_cmdline /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:609:20 20 0x8646b1 in ex_execute /home/vagrant/neovim/build/../src/nvim/eval.c:19478:7 21 0xb4ba9c in do_one_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2242:5 22 0xb2dd03 in do_cmdline /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:609:20 23 0x845302 in call_user_func /home/vagrant/neovim/build/../src/nvim/eval.c:21332:3 24 0x81097b in call_func /home/vagrant/neovim/build/../src/nvim/eval.c:6358:11 25 0x825778 in get_func_tv /home/vagrant/neovim/build/../src/nvim/eval.c:6120:11 26 0x81e361 in ex_call /home/vagrant/neovim/build/../src/nvim/eval.c:2735:9 27 0xb4ba9c in do_one_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2242:5 28 0xb2dd03 in do_cmdline /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:609:20 29 0x8646b1 in ex_execute /home/vagrant/neovim/build/../src/nvim/eval.c:19478:7 30 0xb4ba9c in do_one_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2242:5 31 0xb2dd03 in do_cmdline /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:609:20 32 0x845302 in call_user_func /home/vagrant/neovim/build/../src/nvim/eval.c:21332:3 33 0x81097b in call_func /home/vagrant/neovim/build/../src/nvim/eval.c:6358:11 34 0x825778 in get_func_tv /home/vagrant/neovim/build/../src/nvim/eval.c:6120:11 35 0x81e361 in ex_call /home/vagrant/neovim/build/../src/nvim/eval.c:2735:9 36 0xb4ba9c in do_one_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2242:5 37 0xb2dd03 in do_cmdline /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:609:20 38 0xb17fdd in do_source /home/vagrant/neovim/build/../src/nvim/ex_cmds2.c:2973:3 39 0xb14630 in cmd_source /home/vagrant/neovim/build/../src/nvim/ex_cmds2.c:2718:14 40 0xb14727 in ex_source /home/vagrant/neovim/build/../src/nvim/ex_cmds2.c:2699:3 41 0xb4ba9c in do_one_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2242:5 42 0xb2dd03 in do_cmdline /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:609:20 43 0xb34015 in do_cmdline_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:280:10 44 0xe829d3 in exe_commands /home/vagrant/neovim/build/../src/nvim/main.c:1702:5 45 0xe708bd in main /home/vagrant/neovim/build/../src/nvim/main.c:524:5 46 0x7f0012a7782f in __libc_start_main /build/glibc-Cl5G7W/glibc-2.23/csu/../csu/libc-start.c:291 47 0x44d628 in _start (/home/vagrant/neovim/build/bin/nvim+0x44d628) 0x6020000c4f34 is located 0 bytes to the right of 4-byte region [0x6020000c4f30,0x6020000c4f34) allocated by thread T0 here: 0 0x50e128 in malloc (/home/vagrant/neovim/build/bin/nvim+0x50e128) 1 0xf7d871 in try_malloc /home/vagrant/neovim/build/../src/nvim/memory.c:87:15 2 0xf7da99 in xmalloc /home/vagrant/neovim/build/../src/nvim/memory.c:121:15 3 0xfde3c7 in ins_char_bytes /home/vagrant/neovim/build/../src/nvim/misc1.c:1473:18 4 0xfdef41 in ins_char /home/vagrant/neovim/build/../src/nvim/misc1.c:1403:3 5 0x79dd03 in insertchar /home/vagrant/neovim/build/../src/nvim/edit.c:5285:7 6 0x7be70f in insert_special /home/vagrant/neovim/build/../src/nvim/edit.c:5071:5 7 0x7bd94a in insert_handle_key /home/vagrant/neovim/build/../src/nvim/edit.c:1229:7 8 0x76df14 in insert_execute /home/vagrant/neovim/build/../src/nvim/edit.c:764:10 9 0x173cda9 in state_enter /home/vagrant/neovim/build/../src/nvim/state.c:67:26 10 0x77601d in insert_enter /home/vagrant/neovim/build/../src/nvim/edit.c:458:5 11 0x76986e in edit /home/vagrant/neovim/build/../src/nvim/edit.c:1327:3 12 0x1118661 in invoke_edit /home/vagrant/neovim/build/../src/nvim/normal.c:7591:7 13 0x10e60bc in nv_Replace /home/vagrant/neovim/build/../src/nvim/normal.c:6070:7 14 0x10f235d in nv_g_cmd /home/vagrant/neovim/build/../src/nvim/normal.c:6541:5 15 0x10c0eaa in normal_execute /home/vagrant/neovim/build/../src/nvim/normal.c:1136:3 16 0x10b8444 in normal_cmd /home/vagrant/neovim/build/../src/nvim/normal.c:7995:9 17 0xb80982 in exec_normal /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:8197:5 18 0xb8065b in exec_normal_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:8180:3 19 0xbb08df in ex_normal /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:8098:7 20 0xb4ba9c in do_one_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2242:5 21 0xb2dd03 in do_cmdline /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:609:20 22 0x8646b1 in ex_execute /home/vagrant/neovim/build/../src/nvim/eval.c:19478:7 23 0xb4ba9c in do_one_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2242:5 24 0xb2dd03 in do_cmdline /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:609:20 25 0x845302 in call_user_func /home/vagrant/neovim/build/../src/nvim/eval.c:21332:3 26 0x81097b in call_func /home/vagrant/neovim/build/../src/nvim/eval.c:6358:11 27 0x825778 in get_func_tv /home/vagrant/neovim/build/../src/nvim/eval.c:6120:11 28 0x81e361 in ex_call /home/vagrant/neovim/build/../src/nvim/eval.c:2735:9 29 0xb4ba9c in do_one_cmd /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2242:5 SUMMARY: AddressSanitizer: heap-buffer-overflow (/home/vagrant/neovim/build/bin/nvim+0x4f7970) in __asan_memmove Shadow bytes around the buggy address: 0x0c0480010990: fa fa fd fa fa fa fd fa fa fa 00 fa fa fa 01 fa 0x0c04800109a0: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa 0x0c04800109b0: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa 0x0c04800109c0: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa 0x0c04800109d0: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa =>0x0c04800109e0: fa fa 05 fa fa fa[04]fa fa fa fa fa fa fa fa fa 0x0c04800109f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0480010a00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0480010a10: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0480010a20: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0480010a30: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb ==31341==ABORTING
* | vim-patch:8.0.1223: crash when using autocomplete and tab pagesJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | | | Problem: Crash when using autocomplete and tab pages. Solution: Check if the current tab changed. (Christian Brabandt, closes vim/vim#2239) https://github.com/vim/vim/commit/9ad89c6c4f89cd710d8244d8010b8b0ae30ba79d
* | vim-patch:8.0.1475: invalid memory access in read_redo()Justin M. Keyes2018-02-11
| | | | | | | | | | | | | | | | Problem: Invalid memory access in read_redo(). (gy741) Solution: Convert the replacement character back from a negative number to CR or NL. (hint by Dominique Pelle, closes vim/vim#2616) https://github.com/vim/vim/commit/f12519dec88251305793f1651f558d16506b4be2
* | test: port Test_edit_08() to Lua testJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | Test_edit_08() depends on special-case handling in has_compl_option() and redrawing() which are in Vim but are not wanted in Nvim. Using a Lua test instead of depending on workarounds in the core to make the VimL test work.
* | vim-patch:8.0.1224: still interference between test functionsJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | | | Problem: Still interference between test functions. Solution: Clear autocommands. Wipe all buffers. Fix tests that depend on a specific start context. https://github.com/vim/vim/commit/cf1ba35fc2ebd41b9a7738bbd1f026f5311560aa
* | vim-patch:8.0.1222: test functions interfere with each otherJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | Problem: Test functions interfere with each other. Solution: Cleanup tab pages, windows and buffers. Reset option. https://github.com/vim/vim/commit/ce11de87e26e1420703242f8e07b4fd69c4032ba
* | vim-patch:8.0.1007: no test for filetype detection for scriptsJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | Problem: No test for filetype detection for scripts. Solution: Add a first test file script filetype detection. https://github.com/vim/vim/commit/cbe6944956d7c39176e8b15faa77f1c29eaf5c97
* | vim-patch:8.0.0906: don't recognize Couchbase filesJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | Problem: Don't recognize Couchbase files. Solution: Add filetype detection. (Eugene Ciurana, closes vim/vim#1951) https://github.com/vim/vim/commit/d9bc8a801aeaffa77d4094d43bf97f0ced3db92b