]> granicus.if.org Git - vim/commitdiff
patch 7.4.1156 v7.4.1156
authorBram Moolenaar <Bram@vim.org>
Sat, 23 Jan 2016 20:38:51 +0000 (21:38 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 23 Jan 2016 20:38:51 +0000 (21:38 +0100)
Problem:    Coverity warns for NULL pointer and ignoring return value.
Solution:   Check for NULL pointer. When dict_add() returns FAIL free the item.

src/json.c
src/version.c

index 7b67994ddd7c939b1cc29241be0b52879f33a6d1..442eaff2c9818c969a5dd407a381fe95d69786dd 100644 (file)
@@ -318,7 +318,8 @@ json_decode_object(js_read_T *reader, typval_T *res)
            goto fail;
        }
        di->di_tv = item;
-       dict_add(res->vval.v_dict, di);
+       if (dict_add(res->vval.v_dict, di) == FAIL)
+           dictitem_free(di);
 
        json_skip_white(reader);
        p = reader->js_buf + reader->js_used;
@@ -398,7 +399,10 @@ json_decode_string(js_read_T *reader, typval_T *res)
     {
        ++reader->js_used;
        res->v_type = VAR_STRING;
-       res->vval.v_string = vim_strsave(ga.ga_data);
+       if (ga.ga_data == NULL)
+           res->vval.v_string = NULL;
+       else
+           res->vval.v_string = vim_strsave(ga.ga_data);
     }
     else
     {
index b909693e5f13c280bfc38f8cadf599b08d5f8c5d..d646665c9dde55778271e7852d9d608444812ade 100644 (file)
@@ -741,6 +741,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1156,
 /**/
     1155,
 /**/