From ce17d031805ab548f26f5b2d519fb8e3bf1bbff1 Mon Sep 17 00:00:00 2001 From: Björn Linse Date: Wed, 20 Apr 2016 13:44:12 +0200 Subject: eval: let getreg() return valid list for an undefined register vim-patch:7.4.1755 this prevents a crash when the list is used in setreg() later --- src/nvim/eval.c | 5 +++-- src/nvim/version.c | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/nvim/eval.c b/src/nvim/eval.c index e9b1df6367..b51480afc6 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -10096,9 +10096,10 @@ 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++; + if (rettv->vval.v_list == NULL) { + rettv->vval.v_list = list_alloc(); } + rettv->vval.v_list->lv_refcount++; } else { rettv->v_type = VAR_STRING; rettv->vval.v_string = get_reg_contents(regname, arg2 ? kGRegExprSrc : 0); diff --git a/src/nvim/version.c b/src/nvim/version.c index afd5639d30..5ead7cecbe 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -69,6 +69,7 @@ static char *features[] = { // clang-format off static int included_patches[] = { + 1755, 1654, 1652, 1643, -- cgit