diff src/libvterm/src/screen.c @ 20875:88cec48503b8 v8.2.0989

patch 8.2.0989: crash after resizing a terminal window Commit: https://github.com/vim/vim/commit/a6e8bf2d8929ef52eeda495e0e0c3d2bff8f5830 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jun 16 20:58:07 2020 +0200 patch 8.2.0989: crash after resizing a terminal window Problem: Crash after resizing a terminal window. (August Masquelier) Solution: Add check for valid row in libvterm. (closes https://github.com/vim/vim/issues/6273)
author Bram Moolenaar <Bram@vim.org>
date Tue, 16 Jun 2020 21:00:05 +0200
parents a4652d7ec99f
children 2f2bc98a8dfb
line wrap: on
line diff
--- a/src/libvterm/src/screen.c
+++ b/src/libvterm/src/screen.c
@@ -280,6 +280,12 @@ static int erase_internal(VTermRect rect
     for(col = rect.start_col; col < rect.end_col; col++) {
       ScreenCell *cell = getcell(screen, row, col);
 
+      if (cell == NULL)
+      {
+        DEBUG_LOG2("libvterm: erase_internal() position invalid: %d / %d",
+								     row, col);
+	return 1;
+      }
       if(selective && cell->pen.protected_cell)
         continue;