fix(api): crash on invalid buffer to nvim_buf_del_user_command (#31908)

This commit is contained in:
zeertzjq
2025-01-08 13:16:41 +08:00
committed by GitHub
parent 6719276040
commit 141114c170
2 changed files with 12 additions and 0 deletions

View File

@@ -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;
}

View File

@@ -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)