summaryrefslogtreecommitdiffstats
path: root/src/message.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2023-01-04 15:56:51 +0000
committerBram Moolenaar <Bram@vim.org>2023-01-04 15:56:51 +0000
commitc32949b0779106ed5710ae3bffc5053e49083ab4 (patch)
tree14e2027724e250793fe942805c894b278d31321f /src/message.c
parent7b17eb4b063a234376c1ec909ee293e42cff290c (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.c3
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;