diff options
author | ZyX <kp-pav@yandex.ru> | 2017-12-10 23:18:24 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2017-12-10 23:18:24 +0300 |
commit | fe55f37083b0bef07aa9ac78eb2727c244fdafd3 (patch) | |
tree | ed24dae007897bff703af3df10068171d00fb7b8 | |
parent | 622d355ab46b4d9282de9db6f25701882dd8f4ab (diff) | |
download | rneovim-fe55f37083b0bef07aa9ac78eb2727c244fdafd3.tar.gz rneovim-fe55f37083b0bef07aa9ac78eb2727c244fdafd3.tar.bz2 rneovim-fe55f37083b0bef07aa9ac78eb2727c244fdafd3.zip |
eval: Still check for NULL when doing :unlet
-rw-r--r-- | src/nvim/eval.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 064f2c072c..6271603a1d 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -2875,9 +2875,12 @@ static int do_unlet_var(lval_T *const lp, char_u *const name_end, int forceit) ret = FAIL; } *name_end = cc; - } else if (tv_check_lock(tv_list_locked(lp->ll_list), - (const char *)lp->ll_name, - lp->ll_name_len) + } else if ((lp->ll_list != NULL + // ll_list is not NULL when lvalue is not in a list, NULL lists + // yield E689. + && tv_check_lock(tv_list_locked(lp->ll_list), + (const char *)lp->ll_name, + lp->ll_name_len)) || (lp->ll_dict != NULL && tv_check_lock(lp->ll_dict->dv_lock, (const char *)lp->ll_name, |