diff options
| author | Jacob Young <jacobly0@users.noreply.github.com> | 2023-10-25 12:15:58 -0400 |
|---|---|---|
| committer | Jacob Young <jacobly0@users.noreply.github.com> | 2023-10-25 12:23:21 -0400 |
| commit | ed00afbc4c1eec6d599ac277e364b4a1ed11fe5c (patch) | |
| tree | fac5782379f1d0d6b88cb63fd258780a9fd7a0f7 /src | |
| parent | 868d5925809a4b97472dbfb9e32d73391f4d1ffa (diff) | |
| download | zig-ed00afbc4c1eec6d599ac277e364b4a1ed11fe5c.tar.gz zig-ed00afbc4c1eec6d599ac277e364b4a1ed11fe5c.zip | |
Coff: fix use after free
Diffstat (limited to 'src')
| -rw-r--r-- | src/link/Coff.zig | 3 |
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 }; |
