diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-11-24 10:44:19 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-24 10:44:19 +0800 |
commit | 55dbf5c3798cde8f9bfd36cd17dce636f6f6ea08 (patch) | |
tree | f828f487fc40f2d4904cfb64576eaa0656a00653 /src | |
parent | a8a93e517f9eb988ee86170d9a77382637dd24a3 (diff) | |
download | rneovim-55dbf5c3798cde8f9bfd36cd17dce636f6f6ea08.tar.gz rneovim-55dbf5c3798cde8f9bfd36cd17dce636f6f6ea08.tar.bz2 rneovim-55dbf5c3798cde8f9bfd36cd17dce636f6f6ea08.zip |
fix(messages): validate msg_grid before using msg_grid_pos (#26189)
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/message.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/nvim/message.c b/src/nvim/message.c index 2ff0172ac4..2ba6355528 100644 --- a/src/nvim/message.c +++ b/src/nvim/message.c @@ -2990,10 +2990,13 @@ void msg_clr_eos_force(void) int msg_startcol = (cmdmsg_rl) ? 0 : msg_col; int msg_endcol = (cmdmsg_rl) ? Columns - msg_col : Columns; + // TODO(bfredl): ugly, this state should already been validated at this + // point. But msg_clr_eos() is called in a lot of places. if (msg_grid.chars && msg_row < msg_grid_pos) { - // TODO(bfredl): ugly, this state should already been validated at this - // point. But msg_clr_eos() is called in a lot of places. - msg_row = msg_grid_pos; + msg_grid_validate(); + if (msg_row < msg_grid_pos) { + msg_row = msg_grid_pos; + } } grid_fill(&msg_grid_adj, msg_row, msg_row + 1, msg_startcol, msg_endcol, |