diff --git a/src/sourcemap/sourcemap.zig b/src/sourcemap/sourcemap.zig index 84076711bd..a95b46d621 100644 --- a/src/sourcemap/sourcemap.zig +++ b/src/sourcemap/sourcemap.zig @@ -868,6 +868,13 @@ pub const MappingsData = union(enum) { .list => |*list| return list.find(line, column), .compact => |compact| { if (compact.findMapping(line, column)) |sm| { + // Validate that values are non-negative before using addScalar + // VLQ decoding can result in negative accumulated values due to negative deltas + if (sm.generated_line < 0 or sm.generated_column < 0 or + sm.original_line < 0 or sm.original_column < 0) { + return null; // Invalid mapping data - return null instead of panicking + } + return Mapping{ .generated = .{ .lines = bun.Ordinal.start.addScalar(sm.generated_line),