From ed00afbc4c1eec6d599ac277e364b4a1ed11fe5c Mon Sep 17 00:00:00 2001 From: Jacob Young Date: Wed, 25 Oct 2023 12:15:58 -0400 Subject: Coff: fix use after free --- src/link/Coff.zig | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src') diff --git a/src/link/Coff.zig b/src/link/Coff.zig index 35f0b84411..dccc90f1e5 100644 --- a/src/link/Coff.zig +++ b/src/link/Coff.zig @@ -1461,7 +1461,6 @@ pub fn updateDeclExports( const decl = mod.declPtr(decl_index); const atom_index = try self.getOrCreateAtomForDecl(decl_index); const atom = self.getAtom(atom_index); - const decl_sym = atom.getSymbol(self); const decl_metadata = self.decls.getPtr(decl_index).?; for (exports) |exp| { @@ -1505,7 +1504,7 @@ pub fn updateDeclExports( const sym_loc = SymbolWithLoc{ .sym_index = sym_index, .file = null }; const sym = self.getSymbolPtr(sym_loc); try self.setSymbolName(sym, mod.intern_pool.stringToSlice(exp.opts.name)); - sym.value = decl_sym.value; + sym.value = atom.getSymbol(self).value; sym.section_number = @as(coff.SectionNumber, @enumFromInt(self.text_section_index.? + 1)); sym.type = .{ .complex_type = .FUNCTION, .base_type = .NULL }; -- cgit v1.2.3