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 7b67994..442eaff 100644
--- a/src/json.c
+++ b/src/json.c
@@ -318,7 +318,8 @@
 	    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 @@
     {
 	++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
     {