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:
10
src/fileio.c
10
src/fileio.c
@@ -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
|
||||
|
@@ -754,6 +754,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1088,
|
||||
/**/
|
||||
1087,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user