diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-02-10 22:56:54 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-02-10 22:56:54 +0100 |
commit | 99234f29aa8767f2e71bb1f5db6ee0131bc8e64e (patch) | |
tree | 1deb5ccb1ead5ab96cda41e3585c186d4f1ea56c | |
parent | 408030e8d053fe1c871b2fc366363a30ed98c889 (diff) |
patch 8.2.0241: crash when setting 'buftype' to "quickfix"v8.2.0241
Problem: Crash when setting 'buftype' to "quickfix".
Solution: Check that error list is not NULL. (closes #5613)
-rw-r--r-- | src/quickfix.c | 2 | ||||
-rw-r--r-- | src/testdir/test_quickfix.vim | 7 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 10 insertions, 1 deletions
diff --git a/src/quickfix.c b/src/quickfix.c index 868b5d910a..00457e256d 100644 --- a/src/quickfix.c +++ b/src/quickfix.c @@ -4520,7 +4520,7 @@ qf_fill_buffer(qf_list_T *qfl, buf_T *buf, qfline_T *old_last) *dirname = NUL; // Add one line for each error - if (old_last == NULL) + if (old_last == NULL || old_last->qf_next == NULL) { qfp = qfl->qf_start; lnum = 0; diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim index 79ad82d2d6..3f4574a129 100644 --- a/src/testdir/test_quickfix.vim +++ b/src/testdir/test_quickfix.vim @@ -1628,6 +1628,13 @@ func Test_setqflist_invalid_nr() eval []->setqflist(' ', {'nr' : $XXX_DOES_NOT_EXIST}) endfunc +func Test_setqflist_user_sets_buftype() + call setqflist([{'text': 'foo'}, {'text': 'bar'}]) + set buftype=quickfix + call setqflist([], 'a') + enew +endfunc + func Test_quickfix_set_list_with_act() call XquickfixSetListWithAct('c') call XquickfixSetListWithAct('l') diff --git a/src/version.c b/src/version.c index 7eaf24bdd1..f9ddda4044 100644 --- a/src/version.c +++ b/src/version.c @@ -743,6 +743,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 241, +/**/ 240, /**/ 239, |