# HG changeset patch # User Christian Brabandt # Date 1518358506 -3600 # Node ID 66b8b29854d96cd2e45527bb915c259d65151c7d # Parent 878afef4bf7279a58ac2e34b0db62cb71da8c527 patch 8.0.1500: possible NULL pointer dereference commit https://github.com/vim/vim/commit/0549a1e184d33674f4c2b8fb44ccdf6b9b9808a3 Author: Bram Moolenaar Date: Sun Feb 11 15:02:48 2018 +0100 patch 8.0.1500: possible NULL pointer dereference Problem: Possible NULL pointer dereference. (Coverity) Solution: Check for the pointer not being NULL. diff --git a/src/quickfix.c b/src/quickfix.c --- a/src/quickfix.c +++ b/src/quickfix.c @@ -3771,7 +3771,7 @@ ex_make(exarg_T *eap) { apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name, curbuf->b_fname, TRUE, curbuf); - if (qi->qf_curlist < qi->qf_listcount) + if (qi != NULL && qi->qf_curlist < qi->qf_listcount) res = qi->qf_lists[qi->qf_curlist].qf_count; else res = 0; @@ -4165,20 +4165,18 @@ ex_cfile(exarg_T *eap) if (res >= 0 && qi != NULL) qf_list_changed(qi, qi->qf_curlist); #ifdef FEAT_AUTOCMD - save_qfid = qi->qf_lists[qi->qf_curlist].qf_id; + if (qi != NULL) + save_qfid = qi->qf_lists[qi->qf_curlist].qf_id; if (au_name != NULL) apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name, NULL, FALSE, curbuf); - /* - * Autocmd might have freed the quickfix/location list. Check whether it is - * still valid - */ - if (!qflist_valid(wp, save_qfid)) + + /* An autocmd might have freed the quickfix/location list. Check whether it + * is still valid. */ + if (qi != NULL && !qflist_valid(wp, save_qfid)) return; #endif if (res > 0 && (eap->cmdidx == CMD_cfile || eap->cmdidx == CMD_lfile)) - { qf_jump(qi, 0, 0, eap->forceit); /* display first error */ - } } /* diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -772,6 +772,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1500, +/**/ 1499, /**/ 1498,