diff options
author | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2019-06-05 23:12:20 -0400 |
---|---|---|
committer | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2019-06-06 22:43:47 -0400 |
commit | 427140048b7cc8b48bdd53683247513acefb77ba (patch) | |
tree | a73330851a4ae4fa3937f5f0cedbb3129dfb70d2 /src/nvim/quickfix.c | |
parent | 773c488140415ce9f19ddee5add676d3699104d3 (diff) | |
download | rneovim-427140048b7cc8b48bdd53683247513acefb77ba.tar.gz rneovim-427140048b7cc8b48bdd53683247513acefb77ba.tar.bz2 rneovim-427140048b7cc8b48bdd53683247513acefb77ba.zip |
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
Diffstat (limited to 'src/nvim/quickfix.c')
-rw-r--r-- | src/nvim/quickfix.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/nvim/quickfix.c b/src/nvim/quickfix.c index 9d4fb52dc3..47b8e4a3e0 100644 --- a/src/nvim/quickfix.c +++ b/src/nvim/quickfix.c @@ -5166,6 +5166,16 @@ bool set_ref_in_quickfix(int copyID) return abort; } } + + if (IS_LL_WINDOW(win) && (win->w_llist_ref->qf_refcount == 1)) { + // In a location list window and none of the other windows is + // referring to this location list. Mark the location list + // context as still in use. + abort = mark_quickfix_ctx(win->w_llist_ref, copyID); + if (abort) { + return abort; + } + } } return abort; |