diff options
author | 2023-01-19 16:14:56 -0800 | |
---|---|---|
committer | 2023-01-19 16:14:56 -0800 | |
commit | 495c70053ff6823073e9bb5938f1fb41215a6919 (patch) | |
tree | 94ad920b4f297753a944695174ef2ade18bdadc3 /src | |
parent | 9bcd4952ce3b3051d1f432810d0a9f8a17e3db92 (diff) | |
download | bun-495c70053ff6823073e9bb5938f1fb41215a6919.tar.gz bun-495c70053ff6823073e9bb5938f1fb41215a6919.tar.zst bun-495c70053ff6823073e9bb5938f1fb41215a6919.zip |
Add a debug safety check for UAF in AST nodes
Diffstat (limited to 'src')
-rw-r--r-- | src/js_ast.zig | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/js_ast.zig b/src/js_ast.zig index fbeddcbb8..11ff6e82f 100644 --- a/src/js_ast.zig +++ b/src/js_ast.zig @@ -120,6 +120,11 @@ pub fn NewBaseStore(comptime Union: anytype, comptime count: usize) type { pub fn reset() void { const blocks = _self.overflow.slice(); for (blocks) |b| { + if (comptime Environment.isDebug) { + // ensure we crash if we use a freed value + var bytes = std.mem.asBytes(&b.items); + @memset(bytes, undefined, bytes.len); + } b.used = 0; } _self.overflow.used = 0; |