summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-02-10 22:56:54 +0100
committerBram Moolenaar <Bram@vim.org>2020-02-10 22:56:54 +0100
commit99234f29aa8767f2e71bb1f5db6ee0131bc8e64e (patch)
tree1deb5ccb1ead5ab96cda41e3585c186d4f1ea56c
parent408030e8d053fe1c871b2fc366363a30ed98c889 (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.c2
-rw-r--r--src/testdir/test_quickfix.vim7
-rw-r--r--src/version.c2
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,