changeset 10902:b69194114994 v8.0.0340

patch 8.0.0340: not checking return valud of dict_add() commit https://github.com/vim/vim/commit/5acff71d3bd7796ee0a112ceb891af630b59304e Author: Bram Moolenaar <Bram@vim.org> Date: Sun Feb 19 13:55:02 2017 +0100 patch 8.0.0340: not checking return valud of dict_add() Problem: Not checking return valud of dict_add(). (Coverity) Solution: Handle a failure.
author Christian Brabandt <cb@256bit.org>
date Sun, 19 Feb 2017 14:00:05 +0100
parents 886bce9d79d2
children 099bd7beced6
files src/buffer.c src/version.c
diffstat 2 files changed, 9 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -888,8 +888,13 @@ init_changedtick(buf_T *buf)
 	di->di_tv.v_type = VAR_NUMBER;
 	di->di_tv.v_lock = VAR_FIXED;
 	di->di_tv.vval.v_number = 0;
-	dict_add(buf->b_vars, di);
-	buf->b_changedtick = &di->di_tv.vval.v_number;
+	if (dict_add(buf->b_vars, di) == OK)
+	    buf->b_changedtick = &di->di_tv.vval.v_number;
+	else
+	{
+	    vim_free(di);
+	    buf->b_changedtick = &buf->b_ct_val;
+	}
     }
     else
 #endif
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    340,
+/**/
     339,
 /**/
     338,