mirror of
https://github.com/neovim/neovim.git
synced 2026-03-30 20:32:08 +00:00
fix(messages): allocate message history kind string #38292
Problem: nvim_echo()->kind memory may be used after it is freed with :messages. Solution: Copy and free message kind string in message history.
This commit is contained in:
@@ -3887,6 +3887,15 @@ describe('API', function()
|
||||
eq(4, api.nvim_echo({ { 'foo' } }, false, { id = 4 }))
|
||||
eq(5, api.nvim_echo({ { 'foo' } }, false, {}))
|
||||
end)
|
||||
|
||||
it('no use-after-free for custom kind with :messages #38289', function()
|
||||
exec_lua(function()
|
||||
vim.api.nvim_echo({ { 'a' } }, true, { kind = 'foo' })
|
||||
vim.o.guicursor = '' -- pending mode update go brrr
|
||||
vim.api.nvim__redraw({ flush = true }) -- ui_flush -> arena_mem_free go brrr
|
||||
vim.cmd.messages()
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('nvim_open_term', function()
|
||||
|
||||
Reference in New Issue
Block a user