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
{
diff --git a/src/version.c b/src/version.c
index b909693..d646665 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1156,
+/**/
1155,
/**/
1154,