aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-01-03 06:57:23 +0800
committerGitHub <noreply@github.com>2024-01-03 06:57:23 +0800
commitee2127363463b89ba9d5071babcb9bd16c4db691 (patch)
tree3d05732884193d31fb9f92501cbcbc58d1ab0c81 /src
parentb3eda5e73f65092d50ccd27a0373e8b9fad076b0 (diff)
parentcdd801746943d1b8319bdc92023c9a62f0076b72 (diff)
downloadrneovim-ee2127363463b89ba9d5071babcb9bd16c4db691.tar.gz
rneovim-ee2127363463b89ba9d5071babcb9bd16c4db691.tar.bz2
rneovim-ee2127363463b89ba9d5071babcb9bd16c4db691.zip
Merge pull request #26860 from sus-domesticus/fix/clangd
fix/clangd (check size of array before applying qsort on it; set block pointer to null in case map is empty)
Diffstat (limited to 'src')
-rw-r--r--src/nvim/memfile.c2
-rw-r--r--src/nvim/winfloat.c4
2 files changed, 4 insertions, 2 deletions
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)
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;