aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVVKot <volodymyr.kot.ua@gmail.com>2021-02-02 06:57:54 +0000
committerVVKot <volodymyr.kot.ua@gmail.com>2021-03-28 08:40:37 +0100
commita70d904ad0e2037c7fb2ae10a20f840af3544496 (patch)
treebf2940d7c90c9d77b7fd604e78003f37807694a4 /src
parent7fc58ec99a7546851d2a87b6548fd36d5d9c5abc (diff)
downloadrneovim-a70d904ad0e2037c7fb2ae10a20f840af3544496.tar.gz
rneovim-a70d904ad0e2037c7fb2ae10a20f840af3544496.tar.bz2
rneovim-a70d904ad0e2037c7fb2ae10a20f840af3544496.zip
vim-patch:8.1.0936: may leak memory when using 'vartabstop'
Problem: May leak memory when using 'vartabstop'. (Kuang-che Wu) Solution: Fix handling allocated memory for 'vartabstop'. (closes vim/vim#3976) https://github.com/vim/vim/commit/55c77cf2ea9c15e1ec75d1faf702ec3c9e325271
Diffstat (limited to 'src')
-rw-r--r--src/nvim/buffer.c5
-rw-r--r--src/nvim/option.c4
2 files changed, 2 insertions, 7 deletions
diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c
index 1daedb90b5..cc9f130bfc 100644
--- a/src/nvim/buffer.c
+++ b/src/nvim/buffer.c
@@ -1956,10 +1956,7 @@ void free_buf_options(buf_T *buf, int free_p_ff)
}
buf->b_p_vsts_array = NULL;
clear_string_option(&buf->b_p_vts);
- if (buf->b_p_vts_array) {
- xfree(buf->b_p_vts_array);
- }
- buf->b_p_vts_array = NULL;
+ XFREE_CLEAR(buf->b_p_vts_array);
clear_string_option(&buf->b_p_keymap);
keymap_ga_clear(&buf->b_kmap_ga);
ga_clear(&buf->b_kmap_ga);
diff --git a/src/nvim/option.c b/src/nvim/option.c
index 7d21086fd4..3cc66f938b 100644
--- a/src/nvim/option.c
+++ b/src/nvim/option.c
@@ -3139,9 +3139,7 @@ ambw_end:
if (errmsg == NULL) {
long *oldarray = curbuf->b_p_vsts_array;
if (tabstop_set(*varp, &(curbuf->b_p_vsts_array))) {
- if (oldarray) {
- xfree(oldarray);
- }
+ xfree(oldarray);
} else {
errmsg = e_invarg;
}