From 6a09787496fabdb81525759aa5a21bdc671048e6 Mon Sep 17 00:00:00 2001 From: pfg Date: Tue, 16 Apr 2024 15:43:22 -0400 Subject: [PATCH] sysgpu: fix overflow trying to report an error --- src/sysgpu/shader/ErrorList.zig | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/sysgpu/shader/ErrorList.zig b/src/sysgpu/shader/ErrorList.zig index f6944848..42f06830 100644 --- a/src/sysgpu/shader/ErrorList.zig +++ b/src/sysgpu/shader/ErrorList.zig @@ -116,13 +116,17 @@ fn printCode(writer: anytype, term: std.io.tty.Config, source: []const u8, loc: // location pointer const line_number_len = (std.math.log10(loc_extra.line) + 1) + 3; - try writer.writeByteNTimes( - ' ', - line_number_len + (loc_extra.col - 1), - ); + if (line_number_len > loc_extra.col) { + try writer.writeByteNTimes( + ' ', + line_number_len + (loc_extra.col - 1), + ); + } try term.setColor(writer, .bold); try term.setColor(writer, .green); try writer.writeByte('^'); - try writer.writeByteNTimes('~', loc.end - loc.start - 1); + if (loc.end > loc.start) { + try writer.writeByteNTimes('~', loc.end - loc.start - 1); + } try writer.writeByte('\n'); }