# HG changeset patch # User Bram Moolenaar # Date 1643544904 -3600 # Node ID b7ed275ef02fc14bf2c73a7b783c3f0f0a77beaf # Parent 5825405e4e2c0ed4fdf30ad8e56329a5a68ef03f patch 8.2.4258: Coverity warns for array overrun Commit: https://github.com/vim/vim/commit/6970e1e36a1ecdb4d330d6ac9ca76f97fa515e36 Author: Bram Moolenaar Date: Sun Jan 30 12:10:39 2022 +0000 patch 8.2.4258: Coverity warns for array overrun Problem: Coverity warns for array overrun. Solution: Restrict depth to MAXWLEN - 1. diff --git a/src/spellsuggest.c b/src/spellsuggest.c --- a/src/spellsuggest.c +++ b/src/spellsuggest.c @@ -1214,7 +1214,7 @@ suggest_try_change(suginfo_T *su) // Check the maximum score, if we go over it we won't try this change. #define TRY_DEEPER(su, stack, depth, add) \ - (depth < MAXWLEN && stack[depth].ts_score + (add) < su->su_maxscore) + (depth < MAXWLEN - 1 && stack[depth].ts_score + (add) < su->su_maxscore) /* * Try finding suggestions by adding/removing/swapping letters. @@ -1373,7 +1373,7 @@ suggest_trie_walk( // At end of a prefix or at start of prefixtree: check for // following word. - if (depth < MAXWLEN + if (depth < MAXWLEN - 1 && (byts[arridx] == 0 || n == (int)STATE_NOPREFIX)) { // Set su->su_badflags to the caps type at this position. diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 4258, +/**/ 4257, /**/ 4256,