From 1027ccac6d0a399364a94c17d39295d69b90d7b4 Mon Sep 17 00:00:00 2001 From: sus-domesticus Date: Tue, 2 Jan 2024 22:43:55 +0200 Subject: [PATCH 1/2] fix(clangd): check size of array before applying qsort on it --- src/nvim/winfloat.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/nvim/winfloat.c b/src/nvim/winfloat.c index c732ad09ed..693f9cf1e6 100644 --- a/src/nvim/winfloat.c +++ b/src/nvim/winfloat.c @@ -240,7 +240,9 @@ void win_float_remove(bool bang, int count) for (win_T *wp = lastwin; wp && wp->w_floating; wp = wp->w_prev) { kv_push(float_win_arr, wp); } - qsort(float_win_arr.items, float_win_arr.size, sizeof(win_T *), float_zindex_cmp); + if (float_win_arr.size > 0) { + qsort(float_win_arr.items, float_win_arr.size, sizeof(win_T *), float_zindex_cmp); + } for (size_t i = 0; i < float_win_arr.size; i++) { if (win_close(float_win_arr.items[i], false, false) == FAIL) { break; From cdd801746943d1b8319bdc92023c9a62f0076b72 Mon Sep 17 00:00:00 2001 From: sus-domesticus Date: Tue, 2 Jan 2024 23:53:15 +0200 Subject: [PATCH 2/2] fix(clangd): set block pointer to null in case map is empty --- src/nvim/memfile.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nvim/memfile.c b/src/nvim/memfile.c index e7b23021dd..8869a428d1 100644 --- a/src/nvim/memfile.c +++ b/src/nvim/memfile.c @@ -391,7 +391,7 @@ int mf_sync(memfile_T *mfp, int flags) // Then we only try to write blocks within the existing file. If that also // fails then we give up. int status = OK; - bhdr_T *hp; + bhdr_T *hp = NULL; // note, "last" block is typically earlier in the hash list map_foreach_value(&mfp->mf_hash, hp, { if (((flags & MFS_ALL) || hp->bh_bnum >= 0)