From 21860cbd39d30f424b152815eecf1f96201f59a5 Mon Sep 17 00:00:00 2001 From: Mahmoud Al-Qudsi Date: Thu, 24 Oct 2024 10:28:04 -0500 Subject: [PATCH] Fix panic parsing CSIs The array lengths were transposed, so attempting to parse a CSI with more than 4 parameters would go out of bounds and panic. --- src/input_common.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/input_common.rs b/src/input_common.rs index c67d00ccf..e4cff7b16 100644 --- a/src/input_common.rs +++ b/src/input_common.rs @@ -806,7 +806,7 @@ fn parse_codepoint( fn parse_csi(&mut self, buffer: &mut Vec) -> Option { let mut next_char = |zelf: &mut Self| zelf.try_readb(buffer).unwrap_or(0xff); - let mut params = [[0_u32; 16]; 4]; + let mut params = [[0_u32; 4]; 16]; let mut c = next_char(self); let private_mode; if matches!(c, b'?' | b'<' | b'=' | b'>') {