From 014e55e7610573e48a1a3722f4a5fdbb6ab347df Mon Sep 17 00:00:00 2001 From: Jakub Konka Date: Tue, 11 Jan 2022 13:33:53 +0100 Subject: [PATCH] dupe sym name from stage1 before passing to stage2 --- src/stage1.zig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/stage1.zig b/src/stage1.zig index 5447c7c4b2..b716a9c954 100644 --- a/src/stage1.zig +++ b/src/stage1.zig @@ -471,6 +471,7 @@ export fn stage2_fetch_file( export fn stage2_append_symbol(stage1: *Module, name_ptr: [*c]const u8, name_len: usize) Error { if (name_len == 0) return Error.None; const comp = @intToPtr(*Compilation, stage1.userdata); - comp.export_symbol_names.append(comp.gpa, name_ptr[0..name_len]) catch return Error.OutOfMemory; + const sym_name = comp.gpa.dupe(u8, name_ptr[0..name_len]) catch return Error.OutOfMemory; + comp.export_symbol_names.append(comp.gpa, sym_name) catch return Error.OutOfMemory; return Error.None; }