mirror of
https://github.com/neovim/neovim
synced 2025-07-16 01:01:49 +00:00
fix(ui): data corruption in remote_ui_raw_line
This particular repro is quite niche but there could be other cases, whenever the the second last cell plus the "fill" cell togheter are too complex
This commit is contained in:
@ -778,7 +778,7 @@ void remote_ui_raw_line(RemoteUI *ui, Integer grid, Integer row, Integer startco
|
||||
for (size_t i = 0; i < ncells; i++) {
|
||||
repeat++;
|
||||
if (i == ncells - 1 || attrs[i] != attrs[i + 1] || chunk[i] != chunk[i + 1]) {
|
||||
if (UI_BUF_SIZE - BUF_POS(ui) < 2 * (1 + 2 + sizeof(schar_T) + 5 + 5) + 1
|
||||
if (UI_BUF_SIZE - BUF_POS(ui) < 2 * (1 + 2 + MAX_SCHAR_SIZE + 5 + 5) + 1
|
||||
|| ui->ncells_pending >= 500) {
|
||||
// close to overflowing the redraw buffer. finish this event,
|
||||
// flush, and start a new "grid_line" event at the current position.
|
||||
|
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user