mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
eval/typval: Fix SEGV in test_alot.vim test
This commit is contained in:
parent
faddd83db8
commit
38dd81c136
@ -1167,8 +1167,11 @@ void tv_dict_unref(dict_T *const d)
|
||||
/// @return found item or NULL if nothing was found.
|
||||
dictitem_T *tv_dict_find(const dict_T *const d, const char *const key,
|
||||
const ptrdiff_t len)
|
||||
FUNC_ATTR_NONNULL_ALL FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT
|
||||
FUNC_ATTR_NONNULL_ARG(2) FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT
|
||||
{
|
||||
if (d == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
hashitem_T *const hi = (len < 0
|
||||
? hash_find(&d->dv_hashtab, (const char_u *)key)
|
||||
: hash_find_len(&d->dv_hashtab, key, (size_t)len));
|
||||
|
@ -130,4 +130,10 @@ describe('NULL', function()
|
||||
null_list_expr_test('is not not equal to itself', 'L != L', 0, 0)
|
||||
null_list_expr_test('counts correctly', 'count([L], L)', 0, 1)
|
||||
end)
|
||||
describe('dict', function()
|
||||
it('does not crash when indexing NULL dict', function()
|
||||
eq('\nE716: Key not present in Dictionary: test\nE15: Invalid expression: v:_null_dict.test',
|
||||
redir_exec('echo v:_null_dict.test'))
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
@ -1568,5 +1568,12 @@ describe('typval.c', function()
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
describe('indexing', function()
|
||||
describe('find', function()
|
||||
itp('works with NULL dict', function()
|
||||
eq(nil, lib.tv_dict_find(nil, '', 0))
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
Loading…
Reference in New Issue
Block a user