Commit 3fd6e93f4f
Changed files (1)
src
link
Wasm
src/link/Wasm/Object.zig
@@ -353,9 +353,14 @@ fn Parser(comptime ReaderType: type) type {
var debug_names = std.ArrayList(u8).init(gpa);
errdefer {
- while (relocatable_data.popOrNull()) |rel_data| {
- gpa.free(rel_data.data[0..rel_data.size]);
- } else relocatable_data.deinit();
+ // only free the inner contents of relocatable_data if we didn't
+ // assign it to the object yet.
+ if (parser.object.relocatable_data.len == 0) {
+ for (relocatable_data.items) |rel_data| {
+ gpa.free(rel_data.data[0..rel_data.size]);
+ }
+ relocatable_data.deinit();
+ }
gpa.free(debug_names.items);
debug_names.deinit();
}