From b33e367f33ffaeff8e0bba19183a70530c94e3f7 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 23 Jan 2019 07:45:23 +0100 Subject: [PATCH] Terminal: Fix crash when scrolling contents while cursor is on first row. --- Terminal/Terminal.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Terminal/Terminal.cpp b/Terminal/Terminal.cpp index f74e8b0c8d..a8d5d158b8 100644 --- a/Terminal/Terminal.cpp +++ b/Terminal/Terminal.cpp @@ -418,6 +418,8 @@ Rect Terminal::row_rect(word row) inline Terminal::Attribute& Terminal::attribute_at(word row, word column) { + ASSERT(row < m_rows); + ASSERT(column < m_columns); return m_attributes[(row * m_columns) + column]; } @@ -440,7 +442,7 @@ void Terminal::paint() scanlines_to_copy * m_pixel_width ); m_need_full_invalidation = true; - attribute_at(m_cursor_row - m_rows_to_scroll_backing_store, m_cursor_column).dirty = true; + attribute_at(max(0, m_cursor_row - m_rows_to_scroll_backing_store), m_cursor_column).dirty = true; } m_rows_to_scroll_backing_store = 0; #endif