From: Bram Moolenaar Date: Sat, 23 Jan 2016 20:38:51 +0000 (+0100) Subject: patch 7.4.1156 X-Git-Tag: v7.4.1156 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2dedb45260604911035cff2364aca90a69156ed9;p=vim patch 7.4.1156 Problem: Coverity warns for NULL pointer and ignoring return value. Solution: Check for NULL pointer. When dict_add() returns FAIL free the item. --- diff --git a/src/json.c b/src/json.c index 7b67994dd..442eaff2c 100644 --- a/src/json.c +++ b/src/json.c @@ -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 { diff --git a/src/version.c b/src/version.c index b909693e5..d646665c9 100644 --- a/src/version.c +++ b/src/version.c @@ -741,6 +741,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1156, /**/ 1155, /**/