vim-patch:9.0.0322: crash when no errors and 'quickfixtextfunc' is set (#21269)

Problem:    Crash when no errors and 'quickfixtextfunc' is set.
Solution:   Do not handle errors if there aren't any.

4f1b083be4

Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
zeertzjq 2022-12-03 13:34:25 +08:00 committed by GitHub
parent c0840087c8
commit aa49212731
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 1 deletions

View File

@ -4076,7 +4076,7 @@ static void qf_fill_buffer(qf_list_T *qfl, buf_T *buf, qfline_T *old_last, int q
}
// Check if there is anything to display
if (qfl != NULL) {
if (qfl != NULL && qfl->qf_start != NULL) {
char dirname[MAXPATHL];
*dirname = NUL;

View File

@ -3932,6 +3932,22 @@ func Xgetlist_empty_tests(cchar)
endif
endfunc
func Test_empty_list_quickfixtextfunc()
" This was crashing. Can only reproduce by running it in a separate Vim
" instance.
let lines =<< trim END
func s:Func(o)
cgetexpr '0'
endfunc
cope
let &quickfixtextfunc = 's:Func'
cgetfile [ex
END
call writefile(lines, 'Xquickfixtextfunc')
call RunVim([], [], '-e -s -S Xquickfixtextfunc -c qa')
call delete('Xquickfixtextfunc')
endfunc
func Test_getqflist()
call Xgetlist_empty_tests('c')
call Xgetlist_empty_tests('l')