]> granicus.if.org Git - vim/commitdiff
patch 9.0.0433: Coverity warns for not checking allocation failure v9.0.0433
authorBram Moolenaar <Bram@vim.org>
Sat, 10 Sep 2022 09:42:20 +0000 (10:42 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 10 Sep 2022 09:42:20 +0000 (10:42 +0100)
Problem:    Coverity warns for not checking allocation failure.
Solution:   Check that allocating a list or blob succeeded.

src/eval.c
src/version.c

index 98914738139b217ba9c7b001e53bf31a1310a000..d69abb0172c54be69199c13f449614f6515ed253 100644 (file)
@@ -1121,6 +1121,8 @@ get_lval(
     var2.v_type = VAR_UNKNOWN;
     while (*p == '[' || (*p == '.' && p[1] != '=' && p[1] != '.'))
     {
+       int r;
+
        if (*p == '.' && lp->ll_tv->v_type != VAR_DICT)
        {
            if (!quiet)
@@ -1136,12 +1138,14 @@ get_lval(
            return NULL;
        }
 
-       // a NULL list/blob works like an empty list/blob, allocate one now.
+       // A NULL list/blob works like an empty list/blob, allocate one now.
        if (lp->ll_tv->v_type == VAR_LIST && lp->ll_tv->vval.v_list == NULL)
-           rettv_list_alloc(lp->ll_tv);
+           r = rettv_list_alloc(lp->ll_tv);
        else if (lp->ll_tv->v_type == VAR_BLOB
                                             && lp->ll_tv->vval.v_blob == NULL)
-           rettv_blob_alloc(lp->ll_tv);
+           r = rettv_blob_alloc(lp->ll_tv);
+       if (r == FAIL)
+           return NULL;
 
        if (lp->ll_range)
        {
index 3c7c9c82dad0c5a956f347e35fbc776dd9b41604..51478ad6e3a86a329d5b657f7b5085bf9318f398 100644 (file)
@@ -703,6 +703,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    433,
 /**/
     432,
 /**/