aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2021-03-30 19:51:38 -0400
committerJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2021-03-30 19:56:13 -0400
commit608c03298a9b1c85cd7a3a9b649531490132a3f3 (patch)
tree1d2ad0f4bafb3792522470bc0da2c71374934e00 /src
parente491e77498e8f4b2e801b51271e5e50dd7976ae3 (diff)
downloadrneovim-608c03298a9b1c85cd7a3a9b649531490132a3f3.tar.gz
rneovim-608c03298a9b1c85cd7a3a9b649531490132a3f3.tar.bz2
rneovim-608c03298a9b1c85cd7a3a9b649531490132a3f3.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/option.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/nvim/option.c b/src/nvim/option.c
index a4736656cd..612ecca96a 100644
--- a/src/nvim/option.c
+++ b/src/nvim/option.c
@@ -2001,7 +2001,9 @@ static void didset_options2(void)
// Parse default for 'wildmode'.
check_opt_wim();
+ xfree(curbuf->b_p_vsts_array);
tabstop_set(curbuf->b_p_vsts, &curbuf->b_p_vsts_array);
+ xfree(curbuf->b_p_vts_array);
tabstop_set(curbuf->b_p_vts, &curbuf->b_p_vts_array);
}
@@ -3167,9 +3169,7 @@ ambw_end:
if (errmsg == NULL) {
long *oldarray = curbuf->b_p_vts_array;
if (tabstop_set(*varp, &(curbuf->b_p_vts_array))) {
- if (oldarray) {
- xfree(oldarray);
- }
+ xfree(oldarray);
if (foldmethodIsIndent(curwin)) {
foldUpdateAll(curwin);
}