aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2023-01-30 14:46:28 +0100
committerbfredl <bjorn.linse@gmail.com>2023-01-31 18:28:29 +0100
commit42999a8d645ccf880222f0192671b8ce01bde361 (patch)
treec65aa7e49da559c4f0aa3685366ae69f140ea0cc
parentd6d6ab3f8e77d54c8030c0c18f17d3c72ac4445c (diff)
downloadrneovim-42999a8d645ccf880222f0192671b8ce01bde361.tar.gz
rneovim-42999a8d645ccf880222f0192671b8ce01bde361.tar.bz2
rneovim-42999a8d645ccf880222f0192671b8ce01bde361.zip
fix(test): fix issues detected by running unittests in ASAN/UBSAN
-rw-r--r--src/nvim/lua/executor.c3
-rw-r--r--src/nvim/marktree.c2
-rw-r--r--test/unit/eval/typval_spec.lua5
3 files changed, 5 insertions, 5 deletions
diff --git a/src/nvim/lua/executor.c b/src/nvim/lua/executor.c
index d144a5ae23..1415ceeaed 100644
--- a/src/nvim/lua/executor.c
+++ b/src/nvim/lua/executor.c
@@ -821,6 +821,9 @@ void nlua_init(char **argv, int argc, int lua_arg0)
luaL_openlibs(lstate);
if (!nlua_state_init(lstate)) {
os_errmsg(_("E970: Failed to initialize builtin lua modules\n"));
+#ifdef EXITFREE
+ nlua_common_free_all_mem(lstate);
+#endif
os_exit(1);
}
diff --git a/src/nvim/marktree.c b/src/nvim/marktree.c
index 2036ddd21d..77ba6e6fa4 100644
--- a/src/nvim/marktree.c
+++ b/src/nvim/marktree.c
@@ -1182,7 +1182,7 @@ static size_t check_node(MarkTree *b, mtnode_t *x, mtpos_t *last, bool *last_rig
assert(x->ptr[i] != x->ptr[j]);
}
}
- } else {
+ } else if (x->n > 0) {
*last = x->key[x->n - 1].pos;
}
return n_keys;
diff --git a/test/unit/eval/typval_spec.lua b/test/unit/eval/typval_spec.lua
index 128625374e..825377813d 100644
--- a/test/unit/eval/typval_spec.lua
+++ b/test/unit/eval/typval_spec.lua
@@ -1677,7 +1677,7 @@ describe('typval.c', function()
eq(nil, lib.tv_dict_find(nil, 'test', -1))
eq(nil, lib.tv_dict_find(nil, nil, 0))
end)
- itp('works with NULL key', function()
+ itp('works with empty key', function()
local lua_d = {
['']=0,
t=1,
@@ -1692,7 +1692,6 @@ describe('typval.c', function()
alloc_log:check({})
local dis = dict_items(d)
eq({0, '', dis['']}, {tv_dict_find(d, '', 0)})
- eq({0, '', dis['']}, {tv_dict_find(d, nil, 0)})
end)
itp('works with len properly', function()
local lua_d = {
@@ -1911,8 +1910,6 @@ describe('typval.c', function()
local d = dict(lua_d)
eq(lua_d, dct2tbl(d))
eq({{type='fref', fref='tr'}, true},
- {tv_dict_get_callback(d, nil, 0)})
- eq({{type='fref', fref='tr'}, true},
{tv_dict_get_callback(d, '', -1)})
eq({{type='none'}, true},
{tv_dict_get_callback(d, 'x', -1)})