commit dabc44d15c8ef203b16e00dfa93c5e2639680bc4
parent 271879dd490b8f9c20c5541e60ca2a2924b631d9
Author: zeertzjq <zeertzjq@outlook.com>
Date: Fri, 22 Mar 2024 05:54:12 +0800
vim-patch:9.1.0195: memleak with ex_drop, NULL dereference
Problem: memleak with ex_drop(), NULL dereference
(zeertzjq)
Solution: revert back to ex_rewind(), use curbuf instead of buf
fixes: vim/vim#14246
closes: vim/vim#14251
https://github.com/vim/vim/commit/85a769d466d2009db6a318fd120d9691344664ba
Co-authored-by: Christian Brabandt <cb@256bit.org>
Diffstat:
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/nvim/ex_cmds2.c b/src/nvim/ex_cmds2.c
@@ -866,12 +866,12 @@ void ex_drop(exarg_T *eap)
const int save_ar = curbuf->b_p_ar;
// reload the file if it is newer
- curbuf->b_p_ar = 1;
+ curbuf->b_p_ar = true;
buf_check_timestamp(curbuf);
curbuf->b_p_ar = save_ar;
}
- if (buf->b_ml.ml_flags & ML_EMPTY) {
- open_buffer(false, eap, 0);
+ if (curbuf->b_ml.ml_flags & ML_EMPTY) {
+ ex_rewind(eap);
}
return;
}
diff --git a/test/functional/ex_cmds/drop_spec.lua b/test/functional/ex_cmds/drop_spec.lua
@@ -72,7 +72,7 @@ describe(':drop', function()
lazy dogs |
{0:~ }|*6
{1:Xdrop_modified.txt [+] }|
- "Xdrop_modified.txt" [New] |
+ :drop Xdrop_modified.txt |
]])
end)
end)