Fix a regression in 0.28.0 that caused a buffer overflow when clearing the screen

Fixes #6306
Fixes #6308
This commit is contained in:
Kovid Goyal 2023-05-28 06:24:49 +05:30
parent e59e42a6c2
commit 7f6f1f9a5d
No known key found for this signature in database
GPG key ID: 06BC317B515ACE7C
2 changed files with 4 additions and 1 deletions

View file

@ -71,6 +71,8 @@ Detailed list of changes
- Graphics: Move images up along with text when the window is shrunk vertically (:iss:`6278`)
- Fix a regression in 0.28.0 that caused a buffer overflow when clearing the screen (:iss:`6306`, :pull:`6308`)
0.28.1 [2023-04-21]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View file

@ -894,7 +894,8 @@ cursor_within_margins(Screen *self) {
static void
screen_dirty_line_graphics(Screen *self, unsigned int top, unsigned int bottom) {
bool need_to_remove = false;
for (unsigned int y = top; y <= bottom; y++) {
bottom = MIN(bottom+1, self->lines);
for (unsigned int y = top; y < bottom; y++) {
if (self->linebuf->line_attrs[y].has_image_placeholders) {
need_to_remove = true;
linebuf_mark_line_dirty(self->linebuf, y);