Mercurial > vim
comparison src/fileio.c @ 21073:334a8a5a6267 v8.2.1088
patch 8.2.1088: a very long translation might cause a buffer overflow
Commit: https://github.com/vim/vim/commit/6378b21d6dd38cc0f80aa6d31d747db6c287483b
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Jun 29 21:32:06 2020 +0200
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.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 29 Jun 2020 21:45:04 +0200 |
parents | 69055d27e85e |
children | 9f9c26b3ddc5 |
comparison
equal
deleted
inserted
replaced
21072:42e2fb7ec6e1 | 21073:334a8a5a6267 |
---|---|
50 int prev_msg_col = msg_col; | 50 int prev_msg_col = msg_col; |
51 | 51 |
52 if (msg_silent != 0) | 52 if (msg_silent != 0) |
53 return; | 53 return; |
54 msg_add_fname(buf, name); // put file name in IObuff with quotes | 54 msg_add_fname(buf, name); // put file name in IObuff with quotes |
55 | |
55 // If it's extremely long, truncate it. | 56 // If it's extremely long, truncate it. |
56 if (STRLEN(IObuff) > IOSIZE - 80) | 57 if (STRLEN(IObuff) > IOSIZE - 100) |
57 IObuff[IOSIZE - 80] = NUL; | 58 IObuff[IOSIZE - 100] = NUL; |
58 STRCAT(IObuff, s); | 59 |
60 // Avoid an over-long translation to cause trouble. | |
61 STRNCAT(IObuff, s, 99); | |
62 | |
59 /* | 63 /* |
60 * For the first message may have to start a new line. | 64 * For the first message may have to start a new line. |
61 * For further ones overwrite the previous one, reset msg_scroll before | 65 * For further ones overwrite the previous one, reset msg_scroll before |
62 * calling filemess(). | 66 * calling filemess(). |
63 */ | 67 */ |