patch 8.2.0241: crash when setting 'buftype' to "quickfix"
Problem: Crash when setting 'buftype' to "quickfix".
Solution: Check that error list is not NULL. (closes #5613)
diff --git a/src/quickfix.c b/src/quickfix.c
index 868b5d9..00457e2 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -4520,7 +4520,7 @@
*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 79ad82d..3f4574a 100644
--- a/src/testdir/test_quickfix.vim
+++ b/src/testdir/test_quickfix.vim
@@ -1628,6 +1628,13 @@
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 7eaf24b..f9ddda4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 241,
+/**/
240,
/**/
239,