diff options
author | ZyX <kp-pav@yandex.ru> | 2018-04-22 19:53:06 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2018-04-22 19:53:06 +0300 |
commit | 60577eeaf5b7a542e7f7004bb0cd9a48b294c37d (patch) | |
tree | 8d3476a98aa4fc877995c928265ad97c3c3f3a4f | |
parent | 9f3e67a8148f80532ecb70a97f6f96e7404d3ca6 (diff) | |
download | rneovim-60577eeaf5b7a542e7f7004bb0cd9a48b294c37d.tar.gz rneovim-60577eeaf5b7a542e7f7004bb0cd9a48b294c37d.tar.bz2 rneovim-60577eeaf5b7a542e7f7004bb0cd9a48b294c37d.zip |
spell: Fix PVS/V512: use of sprintf()
-rw-r--r-- | src/nvim/spell.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/nvim/spell.c b/src/nvim/spell.c index 34eb2fdf1b..84aeeda2bf 100644 --- a/src/nvim/spell.c +++ b/src/nvim/spell.c @@ -7368,16 +7368,24 @@ static void dump_word(slang_T *slang, char_u *word, char_u *pat, int *dir, int d if ((flags & (WF_BANNED | WF_RARE | WF_REGION)) || keepcap) { STRCPY(badword, p); STRCAT(badword, "/"); - if (keepcap) + if (keepcap) { STRCAT(badword, "="); - if (flags & WF_BANNED) + } + if (flags & WF_BANNED) { STRCAT(badword, "!"); - else if (flags & WF_RARE) + } else if (flags & WF_RARE) { STRCAT(badword, "?"); - if (flags & WF_REGION) - for (i = 0; i < 7; ++i) - if (flags & (0x10000 << i)) - sprintf((char *)badword + STRLEN(badword), "%d", i + 1); + } + if (flags & WF_REGION) { + for (i = 0; i < 7; i++) { + if (flags & (0x10000 << i)) { + const size_t badword_len = STRLEN(badword); + snprintf((char *)badword + badword_len, + sizeof(badword) - badword_len, + "%d", i + 1); + } + } + } p = badword; } |