aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2018-04-22 19:53:06 +0300
committerZyX <kp-pav@yandex.ru>2018-04-22 19:53:06 +0300
commit60577eeaf5b7a542e7f7004bb0cd9a48b294c37d (patch)
tree8d3476a98aa4fc877995c928265ad97c3c3f3a4f
parent9f3e67a8148f80532ecb70a97f6f96e7404d3ca6 (diff)
downloadrneovim-60577eeaf5b7a542e7f7004bb0cd9a48b294c37d.tar.gz
rneovim-60577eeaf5b7a542e7f7004bb0cd9a48b294c37d.tar.bz2
rneovim-60577eeaf5b7a542e7f7004bb0cd9a48b294c37d.zip
spell: Fix PVS/V512: use of sprintf()
-rw-r--r--src/nvim/spell.c22
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;
}