aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2016-12-26 02:15:45 +0300
committerZyX <kp-pav@yandex.ru>2017-01-03 06:39:23 +0300
commit901e7805ee1488205d3ad1bf5dd93f2799ba8090 (patch)
treeb71a39a9eec075fc27811fafa3cf12279130e0ef
parent759e736b0ab03034dc61d6a30e1b8b1f17ed9695 (diff)
downloadrneovim-901e7805ee1488205d3ad1bf5dd93f2799ba8090.tar.gz
rneovim-901e7805ee1488205d3ad1bf5dd93f2799ba8090.tar.bz2
rneovim-901e7805ee1488205d3ad1bf5dd93f2799ba8090.zip
eval: Fix case when cur_mpsv is NULL
Should only happen when clearing VAR_FUNC typval which is not placed inside a container.
-rw-r--r--src/nvim/eval.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 9546edc87f..8f134de8df 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -19086,7 +19086,8 @@ void free_tv(typval_T *varp)
#define TYPVAL_ENCODE_CONV_FUNC_BEFORE_SELF(len)
#define TYPVAL_ENCODE_CONV_FUNC_END() \
do { \
- if (cur_mpsv->type == kMPConvPartial) { \
+ assert(cur_mpsv != NULL || tv->v_type == VAR_FUNC); \
+ if (cur_mpsv != NULL && cur_mpsv->type == kMPConvPartial) { \
typval_T *const cur_tv = cur_mpsv->tv; \
partial_T *const pt = cur_mpsv->data.p.pt; \
partial_unref(pt); \