Problem: :bdelete/bunload/bwipeout may attempt to switch to a closing buffer, which fails. (after 9.1.2058)
Solution: don't consider switching to closing buffers.
Ugh. Silver lining is that before 9.1.2058 it could've instead been a UAF. 😁
Ref: neovim/neovim#37271 (comment)
TODO: needs tests
https://github.com/vim/vim/pull/19107
(1 file)
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
@seandewar pushed 1 commit.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@seandewar pushed 1 commit.
You are receiving this because you are subscribed to this thread.![]()
@zeertzjq commented on this pull request.
In src/testdir/test_buffer.vim:
> + \| call assert_equal('bar', bufname())
+ \| bunload
+ \| call assert_equal('floob', bufname())
+ augroup END
+ buffer bazinga
+ buffer baz
+ buffer floob
+ buffer foo
+ buffer bar
+ noautocmd bdelete foo
+ clearjumps
+ bdelete bazinga
+ call assert_equal(6, s:fired)
+
+ unlet! s:fired
+ autocmd! SkipClosing
⬇️ Suggested change
- autocmd! SkipClosing + autocmd! SkipClosing + augroup! SkipClosing
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@zeertzjq commented on this pull request.
In src/testdir/test_buffer.vim:
> + \| call assert_equal('bar', bufname())
+ \| bunload
+ \| call assert_equal('floob', bufname())
+ augroup END
+ buffer bazinga
+ buffer baz
+ buffer floob
+ buffer foo
+ buffer bar
+ noautocmd bdelete foo
+ clearjumps
+ bdelete bazinga
+ call assert_equal(6, s:fired)
+
+ unlet! s:fired
+ autocmd! SkipClosing
Actually this isn't really needed. There are many other tests that don't delete augroups.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
thanks
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()