From 306689b8a44ed0615b6ba6998229734548449be7 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 27 Oct 2023 09:27:45 -0700 Subject: [PATCH] terminal: sgr direct bg also had wrong slice len --- src/terminal/sgr.zig | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/terminal/sgr.zig b/src/terminal/sgr.zig index ecec3ed56..9b3dc7a21 100644 --- a/src/terminal/sgr.zig +++ b/src/terminal/sgr.zig @@ -225,7 +225,7 @@ pub const Parser = struct { .b = @truncate(rgb[2]), }, }; - } else if (slice.len >= 2 and slice[1] == 5) { + } else if (slice.len >= 3 and slice[1] == 5) { self.idx += 2; return Attribute{ .@"256_bg" = @truncate(slice[2]), @@ -538,3 +538,9 @@ test "sgr: direct color fg missing color" { var p: Parser = .{ .params = &[_]u16{ 38, 5 }, .colon = false }; while (p.next()) |_| {} } + +test "sgr: direct color bg missing color" { + // This used to crash + var p: Parser = .{ .params = &[_]u16{ 48, 5 }, .colon = false }; + while (p.next()) |_| {} +}