mirror of
https://github.com/ziglang/zig.git
synced 2024-11-26 15:12:31 +00:00
link: fix memory bugs
This commit is contained in:
parent
a8ec306b49
commit
5be8a5fe5f
@ -72,6 +72,7 @@ pub const Parsed = struct {
|
||||
|
||||
pub fn deinit(p: *Parsed, gpa: Allocator) void {
|
||||
gpa.free(p.strtab);
|
||||
gpa.free(p.sections);
|
||||
gpa.free(p.symtab);
|
||||
gpa.free(p.versyms);
|
||||
gpa.free(p.symbols);
|
||||
|
@ -984,6 +984,7 @@ fn buildOutputType(
|
||||
.libc_paths_file = try EnvVar.ZIG_LIBC.get(arena),
|
||||
.native_system_include_paths = &.{},
|
||||
};
|
||||
defer create_module.link_inputs.deinit(gpa);
|
||||
|
||||
// before arg parsing, check for the NO_COLOR and CLICOLOR_FORCE environment variables
|
||||
// if set, default the color setting to .off or .on, respectively
|
||||
@ -3682,7 +3683,7 @@ const CreateModule = struct {
|
||||
/// This one is used while collecting CLI options. The set of libs is used
|
||||
/// directly after computing the target and used to compute link_libc,
|
||||
/// link_libcpp, and then the libraries are filtered into
|
||||
/// `unresolved_linker_inputs` and `windows_libs`.
|
||||
/// `unresolved_link_inputs` and `windows_libs`.
|
||||
cli_link_inputs: std.ArrayListUnmanaged(link.UnresolvedInput),
|
||||
windows_libs: std.StringArrayHashMapUnmanaged(void),
|
||||
/// The local variable `unresolved_link_inputs` is fed into library
|
||||
@ -3816,7 +3817,8 @@ fn createModule(
|
||||
// to decide whether to trigger native path detection logic.
|
||||
// Preserves linker input order.
|
||||
var unresolved_link_inputs: std.ArrayListUnmanaged(link.UnresolvedInput) = .empty;
|
||||
try unresolved_link_inputs.ensureUnusedCapacity(arena, create_module.cli_link_inputs.items.len);
|
||||
defer unresolved_link_inputs.deinit(gpa);
|
||||
try unresolved_link_inputs.ensureUnusedCapacity(gpa, create_module.cli_link_inputs.items.len);
|
||||
var any_name_queries_remaining = false;
|
||||
for (create_module.cli_link_inputs.items) |cli_link_input| switch (cli_link_input) {
|
||||
.name_query => |nq| {
|
||||
|
Loading…
Reference in New Issue
Block a user