aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2023-10-25 12:15:58 -0400
committerJacob Young <jacobly0@users.noreply.github.com>2023-10-25 12:23:21 -0400
commited00afbc4c1eec6d599ac277e364b4a1ed11fe5c (patch)
treefac5782379f1d0d6b88cb63fd258780a9fd7a0f7 /src
parent868d5925809a4b97472dbfb9e32d73391f4d1ffa (diff)
downloadzig-ed00afbc4c1eec6d599ac277e364b4a1ed11fe5c.tar.gz
zig-ed00afbc4c1eec6d599ac277e364b4a1ed11fe5c.zip
Coff: fix use after free
Diffstat (limited to 'src')
-rw-r--r--src/link/Coff.zig3
1 files changed, 1 insertions, 2 deletions
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 };