From d28e6739c7b7bd329e4cc53c886cfc4dcb5f7da4 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 27 Oct 2023 09:25:16 -0700 Subject: [PATCH] terminal: sgr direct color fg missing color doesn't crash --- 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 634779413..ecec3ed56 100644 --- a/src/terminal/sgr.zig +++ b/src/terminal/sgr.zig @@ -197,7 +197,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_fg" = @truncate(slice[2]), @@ -532,3 +532,9 @@ test "sgr: underline, bg, and fg" { try testing.expectEqual(Attribute.Underline.single, v.underline); } } + +test "sgr: direct color fg missing color" { + // This used to crash + var p: Parser = .{ .params = &[_]u16{ 38, 5 }, .colon = false }; + while (p.next()) |_| {} +}