authorgravatar for meme@users.noreply.github.commeme <meme@users.noreply.github.com> 2020-01-30 20:00:05-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-01-30 20:57:31-05:00
log1e78070a40bac709bfd25beb24c1721d4977a69d
tree773521dd81a3061e453da40bf2f720097d7eb3e1
parentd27678fe83f8c7d61cc41c7300d68fe502dd4999

build: Fix missing `dupe`

- Strange memory corruption issues occur when allocated memory is passed to the builder and it is `defer`'d and freed - Instead, `dupe` the string as is done in other handlers, this fixes the issue

1 files changed, 4 insertions(+), 4 deletions(-)

lib/std/build.zig+4-4
...@@ -1735,17 +1735,17 @@ pub const LibExeObjStep = struct {...@@ -1735,17 +1735,17 @@ pub const LibExeObjStep = struct {
1735 }1735 }
17361736
1737 pub fn addLibPath(self: *LibExeObjStep, path: []const u8) void {1737 pub fn addLibPath(self: *LibExeObjStep, path: []const u8) void {
1738 self.lib_paths.append(path) catch unreachable;1738 self.lib_paths.append(self.builder.dupe(path)) catch unreachable;
1739 }1739 }
17401740
1741 pub fn addFrameworkDir(self: *LibExeObjStep, dir_path: []const u8) void {1741 pub fn addFrameworkDir(self: *LibExeObjStep, dir_path: []const u8) void {
1742 self.framework_dirs.append(dir_path) catch unreachable;1742 self.framework_dirs.append(self.builder.dupe(dir_path)) catch unreachable;
1743 }1743 }
17441744
1745 pub fn addPackagePath(self: *LibExeObjStep, name: []const u8, pkg_index_path: []const u8) void {1745 pub fn addPackagePath(self: *LibExeObjStep, name: []const u8, pkg_index_path: []const u8) void {
1746 self.packages.append(Pkg{1746 self.packages.append(Pkg{
1747 .name = name,1747 .name = self.builder.dupe(name),
1748 .path = pkg_index_path,1748 .path = self.builder.dupe(pkg_index_path),
1749 }) catch unreachable;1749 }) catch unreachable;
1750 }1750 }
17511751