Mercurial > vim
comparison src/eval.c @ 6361:6ad9facba57d v7.4.513
updated for version 7.4.513
Problem: Crash because reference count is wrong for list returned by
getreg().
Solution: Increment the reference count. (Kimmy Lindvall)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Wed, 12 Nov 2014 18:49:16 +0100 |
parents | 094a87e76155 |
children | 81c9b19ee0fb |
comparison
equal
deleted
inserted
replaced
6360:135901a3246c | 6361:6ad9facba57d |
---|---|
12006 if (return_list) | 12006 if (return_list) |
12007 { | 12007 { |
12008 rettv->v_type = VAR_LIST; | 12008 rettv->v_type = VAR_LIST; |
12009 rettv->vval.v_list = (list_T *)get_reg_contents(regname, | 12009 rettv->vval.v_list = (list_T *)get_reg_contents(regname, |
12010 (arg2 ? GREG_EXPR_SRC : 0) | GREG_LIST); | 12010 (arg2 ? GREG_EXPR_SRC : 0) | GREG_LIST); |
12011 if (rettv->vval.v_list != NULL) | |
12012 ++rettv->vval.v_list->lv_refcount; | |
12011 } | 12013 } |
12012 else | 12014 else |
12013 { | 12015 { |
12014 rettv->v_type = VAR_STRING; | 12016 rettv->v_type = VAR_STRING; |
12015 rettv->vval.v_string = get_reg_contents(regname, | 12017 rettv->vval.v_string = get_reg_contents(regname, |