aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/option.c
diff options
context:
space:
mode:
authorwatiko <service@mail.watiko.net>2015-11-28 01:31:00 +0900
committerwatiko <service@mail.watiko.net>2015-11-28 17:22:52 +0900
commit09f6066bb48150566ba7f1f44ae4148deb0e02c0 (patch)
treecc44d69933834efb694741f5bbeef220bb559962 /src/nvim/option.c
parent789041c2829d8abb96a0f5f7a844632052a1a448 (diff)
downloadrneovim-09f6066bb48150566ba7f1f44ae4148deb0e02c0.tar.gz
rneovim-09f6066bb48150566ba7f1f44ae4148deb0e02c0.tar.bz2
rneovim-09f6066bb48150566ba7f1f44ae4148deb0e02c0.zip
vim-patch:7.4.789
Problem: Using freed memory and crash. (Dominique Pellej) Solution: Correct use of pointers. (Hirohito Higashi) https://github.com/vim/vim/commit/9cac424d05c0e79cd621f1b9f2f01a9f459fcbe6
Diffstat (limited to 'src/nvim/option.c')
-rw-r--r--src/nvim/option.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/nvim/option.c b/src/nvim/option.c
index 87b213818c..84b953e592 100644
--- a/src/nvim/option.c
+++ b/src/nvim/option.c
@@ -1799,7 +1799,8 @@ do_set (
sprintf((char *)buf_type, "%s",
(opt_flags & OPT_LOCAL) ? "local" : "global");
- set_vim_var_string(VV_OPTION_NEW, newval, -1);
+ set_vim_var_string(VV_OPTION_NEW,
+ *(char_u **)varp, -1);
set_vim_var_string(VV_OPTION_OLD, saved_origval, -1);
set_vim_var_string(VV_OPTION_TYPE, buf_type, -1);
apply_autocmds(EVENT_OPTIONSET,
@@ -2384,8 +2385,8 @@ set_string_option (
char_u buf_type[7];
sprintf((char *)buf_type, "%s",
(opt_flags & OPT_LOCAL) ? "local" : "global");
- set_vim_var_string(VV_OPTION_NEW, s, -1);
- set_vim_var_string(VV_OPTION_OLD, oldval, -1);
+ set_vim_var_string(VV_OPTION_NEW, *varp, -1);
+ set_vim_var_string(VV_OPTION_OLD, saved_oldval, -1);
set_vim_var_string(VV_OPTION_TYPE, buf_type, -1);
apply_autocmds(EVENT_OPTIONSET, (char_u *)options[opt_idx].fullname, NULL, FALSE, NULL);
reset_v_option_vars();