summaryrefslogtreecommitdiffstats
path: root/src/evalfunc.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-02-25 14:59:34 +0100
committerBram Moolenaar <Bram@vim.org>2017-02-25 14:59:34 +0100
commit95c526e1f6d76acafee4b21f5701d6d6ac8c4b5f (patch)
treebd5c3b788fbd7995938325c97c3ff4c2d72b9b94 /src/evalfunc.c
parentd3f78dc9ebd729475a7f24a50a91112e300d5ac9 (diff)
patch 8.0.0365: might free a dict item that wasn't allocatedv8.0.0365
Problem: Might free a dict item that wasn't allocated. Solution: Call dictitem_free(). (Nikolai Pavlov) Use this for b:changedtick.
Diffstat (limited to 'src/evalfunc.c')
-rw-r--r--src/evalfunc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 1307d1203f..52527bc897 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -2550,7 +2550,7 @@ f_diff_hlID(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
if (lnum < 0) /* ignore type error in {lnum} arg */
lnum = 0;
if (lnum != prev_lnum
- || changedtick != *curbuf->b_changedtick
+ || changedtick != CHANGEDTICK(curbuf)
|| fnum != curbuf->b_fnum)
{
/* New line, buffer, change: need to get the values. */
@@ -2572,7 +2572,7 @@ f_diff_hlID(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
else
hlID = (hlf_T)0;
prev_lnum = lnum;
- changedtick = *curbuf->b_changedtick;
+ changedtick = CHANGEDTICK(curbuf);
fnum = curbuf->b_fnum;
}
@@ -3957,7 +3957,7 @@ get_buffer_info(buf_T *buf)
dict_add_nr_str(dict, "loaded", buf->b_ml.ml_mfp != NULL, NULL);
dict_add_nr_str(dict, "listed", buf->b_p_bl, NULL);
dict_add_nr_str(dict, "changed", bufIsChanged(buf), NULL);
- dict_add_nr_str(dict, "changedtick", *buf->b_changedtick, NULL);
+ dict_add_nr_str(dict, "changedtick", CHANGEDTICK(buf), NULL);
dict_add_nr_str(dict, "hidden",
buf->b_ml.ml_mfp != NULL && buf->b_nwindows == 0,
NULL);