0
0
mirror of https://github.com/vim/vim.git synced 2025-09-28 04:24:06 -04:00

patch 8.2.1088: a very long translation might cause a buffer overflow

Problem:    A very long translation might cause a buffer overflow.
Solution:   Trunctate the message if needed.
This commit is contained in:
Bram Moolenaar
2020-06-29 21:32:06 +02:00
parent 566cc8c72b
commit 6378b21d6d
2 changed files with 9 additions and 3 deletions

View File

@@ -52,10 +52,14 @@ filemess(
if (msg_silent != 0)
return;
msg_add_fname(buf, name); // put file name in IObuff with quotes
// If it's extremely long, truncate it.
if (STRLEN(IObuff) > IOSIZE - 80)
IObuff[IOSIZE - 80] = NUL;
STRCAT(IObuff, s);
if (STRLEN(IObuff) > IOSIZE - 100)
IObuff[IOSIZE - 100] = NUL;
// Avoid an over-long translation to cause trouble.
STRNCAT(IObuff, s, 99);
/*
* For the first message may have to start a new line.
* For further ones overwrite the previous one, reset msg_scroll before

View File

@@ -754,6 +754,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1088,
/**/
1087,
/**/