aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-06-20 21:32:27 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-06-22 06:56:47 -0700
commit1bc37470422f7f29a83da398d366f42f49463269 (patch)
treee8cbe0fa3edac52d2448d929cfa35b30bff6a810
parent689666f17c5165e4034ee660d6dfb3ae0a8eddcb (diff)
downloadbun-1bc37470422f7f29a83da398d366f42f49463269.tar.gz
bun-1bc37470422f7f29a83da398d366f42f49463269.tar.zst
bun-1bc37470422f7f29a83da398d366f42f49463269.zip
[JS Parser] Fix undefined memory bug when printing an "cannot be used in strict mode" error message
-rw-r--r--src/js_parser.zig5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/js_parser.zig b/src/js_parser.zig
index cd5a9df63..859cb4a9b 100644
--- a/src/js_parser.zig
+++ b/src/js_parser.zig
@@ -9195,8 +9195,9 @@ fn NewParser_(
if (why.len == 0) {
why = try std.fmt.allocPrint(p.allocator, "This file is implicitly in strict mode because of the \"{s}\" keyword here", .{p.source.textForRange(where)});
}
-
- try p.log.addRangeErrorWithNotes(p.source, r, try std.fmt.allocPrint(p.allocator, "{s} cannot be used in strict mode", .{text}), &([_]logger.Data{logger.rangeData(p.source, where, why)}));
+ var notes = try p.allocator.alloc(logger.Data, 1);
+ notes[0] = logger.rangeData(p.source, where, why);
+ try p.log.addRangeErrorWithNotes(p.source, r, try std.fmt.allocPrint(p.allocator, "{s} cannot be used in strict mode", .{text}), notes);
} else if (!can_be_transformed and p.isStrictModeOutputFormat()) {
try p.log.addRangeError(p.source, r, try std.fmt.allocPrint(p.allocator, "{s} cannot be used with esm due to strict mode", .{text}));
}