From 08df7ebb824534f77388bc191d9d06830b151d09 Mon Sep 17 00:00:00 2001 From: BenHall-7 Date: Sun, 21 Mar 2021 23:26:02 -0400 Subject: [PATCH 1/2] Fix out of bounds table offset panic --- src/widgets/table.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/widgets/table.rs b/src/widgets/table.rs index 261bc186..a6e013bb 100644 --- a/src/widgets/table.rs +++ b/src/widgets/table.rs @@ -334,6 +334,7 @@ impl<'a> Table<'a> { offset: usize, max_height: u16, ) -> (usize, usize) { + let offset = offset.min(self.rows.len() - 1); let mut start = offset; let mut end = offset; let mut height = 0; From dc6d209b7ab467246ac2abbd4d79a95823440133 Mon Sep 17 00:00:00 2001 From: BenHall-7 Date: Sun, 21 Mar 2021 23:40:00 -0400 Subject: [PATCH 2/2] Prevent a theoretically possible underflow on table offset --- src/widgets/table.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/widgets/table.rs b/src/widgets/table.rs index a6e013bb..ddb76b32 100644 --- a/src/widgets/table.rs +++ b/src/widgets/table.rs @@ -334,7 +334,7 @@ impl<'a> Table<'a> { offset: usize, max_height: u16, ) -> (usize, usize) { - let offset = offset.min(self.rows.len() - 1); + let offset = offset.min(self.rows.len().saturating_sub(1)); let mut start = offset; let mut end = offset; let mut height = 0;