]> granicus.if.org Git - vim/commitdiff
patch 8.0.1500: possible NULL pointer dereference v8.0.1500
authorBram Moolenaar <Bram@vim.org>
Sun, 11 Feb 2018 14:02:48 +0000 (15:02 +0100)
committerBram Moolenaar <Bram@vim.org>
Sun, 11 Feb 2018 14:02:48 +0000 (15:02 +0100)
Problem:    Possible NULL pointer dereference. (Coverity)
Solution:   Check for the pointer not being NULL.

src/quickfix.c
src/version.c

index c3b28e4ec3244d65f0570e63f952b3d3f560e14a..80308103877ea1679a6479412e1ab93287d9ec46 100644 (file)
@@ -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 */
-    }
 }
 
 /*
index a7cc0e41efe11de1d8ad46374b60b1bdf21df3bd..4cbfc470910059cb802da625d0a263b0425cb2ff 100644 (file)
@@ -771,6 +771,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1500,
 /**/
     1499,
 /**/