patch 8.2.1353: crash when drawing double-wide character in terminal window

Problem:    Crash when drawing double-wide character in terminal window.
            (Masato Nishihata)
Solution:   Check getcell() returning NULL. (issue #6141)
This commit is contained in:
Bram Moolenaar
2020-08-02 15:05:05 +02:00
parent ad486a0f0d
commit 8b89614e69
3 changed files with 23 additions and 1 deletions

View File

@ -186,7 +186,12 @@ static int putglyph(VTermGlyphInfo *info, VTermPos pos, void *user)
cell->chars[i] = 0;
for(col = 1; col < info->width; col++)
getcell(screen, pos.row, pos.col + col)->chars[0] = (uint32_t)-1;
{
ScreenCell *onecell = getcell(screen, pos.row, pos.col + col);
if (onecell == NULL)
break;
onecell->chars[0] = (uint32_t)-1;
}
rect.start_row = pos.row;
rect.end_row = pos.row+1;