mirror of
https://github.com/neovim/neovim.git
synced 2025-10-03 08:28:34 +00:00
vim-patch:9.0.0882: using freed memory after SpellFileMissing autocmd uses bwipe (#21060)
Problem: Using freed memory after SpellFileMissing autocmd uses bwipe.
Solution: Bail out if the window no longer exists.
c3d27ada14
Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
@@ -110,6 +110,7 @@
|
||||
#include "nvim/types.h" // for char_u
|
||||
#include "nvim/undo.h" // for u_save_cursor
|
||||
#include "nvim/vim.h" // for curwin, strlen, STRLCPY, STRNCMP
|
||||
#include "nvim/window.h" // for win_valid_any_tab
|
||||
|
||||
// Result values. Lower number is accepted over higher one.
|
||||
enum {
|
||||
@@ -1965,8 +1966,8 @@ char *did_set_spelllang(win_T *wp)
|
||||
} else {
|
||||
spell_load_lang((char_u *)lang);
|
||||
// SpellFileMissing autocommands may do anything, including
|
||||
// destroying the buffer we are using...
|
||||
if (!bufref_valid(&bufref)) {
|
||||
// destroying the buffer we are using or closing the window.
|
||||
if (!bufref_valid(&bufref) || !win_valid_any_tab(wp)) {
|
||||
ret_msg = N_("E797: SpellFileMissing autocommand deleted buffer");
|
||||
goto theend;
|
||||
}
|
||||
|
Reference in New Issue
Block a user