diff options
author | Bram Moolenaar <Bram@vim.org> | 2023-01-04 15:56:51 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2023-01-04 15:56:51 +0000 |
commit | c32949b0779106ed5710ae3bffc5053e49083ab4 (patch) | |
tree | 14e2027724e250793fe942805c894b278d31321f /src/message.c | |
parent | 7b17eb4b063a234376c1ec909ee293e42cff290c (diff) |
patch 9.0.1144: reading beyond textv9.0.1144
Problem: Reading beyond text.
Solution: Add strlen_maxlen() and use it.
Diffstat (limited to 'src/message.c')
-rw-r--r-- | src/message.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/message.c b/src/message.c index 591691f3f6..bb3517c94e 100644 --- a/src/message.c +++ b/src/message.c @@ -3055,7 +3055,8 @@ msg_puts_printf(char_u *str, int maxlen) { char_u *tofree = NULL; - if (maxlen > 0 && STRLEN(p) > (size_t)maxlen) + if (maxlen > 0 && vim_strlen_maxlen((char *)p, (size_t)maxlen) + >= (size_t)maxlen) { tofree = vim_strnsave(p, (size_t)maxlen); p = tofree; |