From 2dedb45260604911035cff2364aca90a69156ed9 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 23 Jan 2016 21:38:51 +0100 Subject: [PATCH] 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. --- src/json.c | 8 ++++++-- src/version.c | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) 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, /**/ -- 2.50.1