mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 11:28:22 +00:00
fix(api): crash on invalid buffer to nvim_buf_del_user_command (#31908)
This commit is contained in:
@@ -931,6 +931,9 @@ void nvim_buf_del_user_command(Buffer buffer, String name, Error *err)
|
||||
gap = &ucmds;
|
||||
} else {
|
||||
buf_T *buf = find_buffer_by_handle(buffer, err);
|
||||
if (ERROR_SET(err)) {
|
||||
return;
|
||||
}
|
||||
gap = &buf->b_ucmds;
|
||||
}
|
||||
|
||||
|
@@ -651,6 +651,11 @@ describe('nvim_create_user_command', function()
|
||||
api.nvim_set_current_buf(bufnr)
|
||||
command('Hello')
|
||||
assert_alive()
|
||||
eq(
|
||||
'Invalid buffer id: 1234',
|
||||
pcall_err(api.nvim_buf_create_user_command, 1234, 'Hello', '', {})
|
||||
)
|
||||
assert_alive()
|
||||
end)
|
||||
|
||||
it('can use a Lua complete function', function()
|
||||
@@ -771,5 +776,9 @@ describe('nvim_del_user_command', function()
|
||||
command('Hello')
|
||||
api.nvim_buf_del_user_command(0, 'Hello')
|
||||
matches('Not an editor command: Hello', pcall_err(command, 'Hello'))
|
||||
eq('Invalid command (not found): Hello', pcall_err(api.nvim_buf_del_user_command, 0, 'Hello'))
|
||||
eq('Invalid command (not found): Bye', pcall_err(api.nvim_buf_del_user_command, 0, 'Bye'))
|
||||
eq('Invalid buffer id: 1234', pcall_err(api.nvim_buf_del_user_command, 1234, 'Hello'))
|
||||
assert_alive()
|
||||
end)
|
||||
end)
|
||||
|
Reference in New Issue
Block a user