diff options
author | zeertzjq <zeertzjq@outlook.com> | 2024-03-22 05:54:12 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2024-03-22 06:04:37 +0800 |
commit | dabc44d15c8ef203b16e00dfa93c5e2639680bc4 (patch) | |
tree | d14085e9665e2763c46ec339262a728391e0a4d0 /src | |
parent | 271879dd490b8f9c20c5541e60ca2a2924b631d9 (diff) | |
download | rneovim-dabc44d15c8ef203b16e00dfa93c5e2639680bc4.tar.gz rneovim-dabc44d15c8ef203b16e00dfa93c5e2639680bc4.tar.bz2 rneovim-dabc44d15c8ef203b16e00dfa93c5e2639680bc4.zip |
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 (limited to 'src')
-rw-r--r-- | src/nvim/ex_cmds2.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/nvim/ex_cmds2.c b/src/nvim/ex_cmds2.c index fc50664ce0..d754150089 100644 --- 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; } |