From 427140048b7cc8b48bdd53683247513acefb77ba Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Wed, 5 Jun 2019 23:12:20 -0400 Subject: vim-patch:8.0.1412: using free memory using setloclist() Problem: Using free memory using setloclist(). (Dominique Pelle) Solution: Mark location list context as still in use when needed. (Yegappan Lakshmanan, closes vim/vim#2462) https://github.com/vim/vim/commit/12237448499aaeb8c4f2be7a1deda60c0f160627 --- src/nvim/testdir/test_quickfix.vim | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/nvim/testdir') diff --git a/src/nvim/testdir/test_quickfix.vim b/src/nvim/testdir/test_quickfix.vim index b009df26b9..db84f6d4a1 100644 --- a/src/nvim/testdir/test_quickfix.vim +++ b/src/nvim/testdir/test_quickfix.vim @@ -3298,3 +3298,17 @@ func Test_qfjump() call Xqfjump_tests('c') call Xqfjump_tests('l') endfunc + +" The following test used to crash Vim. +" Open the location list window and close the regular window associated with +" the location list. When the garbage collection runs now, it incorrectly +" marks the location list context as not in use and frees the context. +func Test_ll_window_ctx() + call setloclist(0, [], 'f') + call setloclist(0, [], 'a', {'context' : []}) + lopen | only + call test_garbagecollect_now() + echo getloclist(0, {'context' : 1}).context + enew | only +endfunc + -- cgit