diff options
author | Florian Walch <florian@fwalch.com> | 2014-12-23 21:37:19 +0100 |
---|---|---|
committer | Florian Walch <florian@fwalch.com> | 2014-12-23 21:48:22 +0100 |
commit | 5e542ba56e7d34516ebe7d717b84959d476eb04c (patch) | |
tree | be21f27d4151ad7e3094b5f7e596bf7b3aad8d2e /src/nvim/eval.c | |
parent | 89bab9b90e3730c5b7685e7a25c5ec3fb6b1d8c8 (diff) | |
download | rneovim-5e542ba56e7d34516ebe7d717b84959d476eb04c.tar.gz rneovim-5e542ba56e7d34516ebe7d717b84959d476eb04c.tar.bz2 rneovim-5e542ba56e7d34516ebe7d717b84959d476eb04c.zip |
vim-patch:7.4.513
Problem: Crash because reference count is wrong for list returned by
getreg().
Solution: Increment the reference count. (Kimmy Lindvall)
https://code.google.com/p/vim/source/detail?r=v7-4-513
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r-- | src/nvim/eval.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 67a68f70d5..ffae24a380 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -9553,6 +9553,9 @@ static void f_getreg(typval_T *argvars, typval_T *rettv) rettv->v_type = VAR_LIST; rettv->vval.v_list = get_reg_contents(regname, (arg2 ? kGRegExprSrc : 0) | kGRegList); + if (rettv->vval.v_list != NULL) { + rettv->vval.v_list->lv_refcount++; + } } else { rettv->v_type = VAR_STRING; rettv->vval.v_string = get_reg_contents(regname, arg2 ? kGRegExprSrc : 0); |