aboutsummaryrefslogtreecommitdiff
path: root/lib/std
diff options
context:
space:
mode:
Diffstat (limited to 'lib/std')
-rw-r--r--lib/std/fs/Dir.zig7
-rw-r--r--lib/std/fs/test.zig3
2 files changed, 7 insertions, 3 deletions
diff --git a/lib/std/fs/Dir.zig b/lib/std/fs/Dir.zig
index 192a0d4b3a..16b1cc2aaa 100644
--- a/lib/std/fs/Dir.zig
+++ b/lib/std/fs/Dir.zig
@@ -1217,10 +1217,13 @@ fn makeOpenPathAccessMaskW(self: Dir, sub_path: []const u8, access_mask: u32, no
},
else => |e| return e,
};
- // Don't leak the intermediate file handles
- errdefer if (result) |*dir| dir.close();
component = it.next() orelse return result.?;
+
+ // Don't leak the intermediate file handles
+ if (result) |*dir| {
+ dir.close();
+ }
}
}
diff --git a/lib/std/fs/test.zig b/lib/std/fs/test.zig
index bd2f4e844c..dda953e5e0 100644
--- a/lib/std/fs/test.zig
+++ b/lib/std/fs/test.zig
@@ -1161,7 +1161,8 @@ test "makepath existing directories" {
defer tmp.cleanup();
try tmp.dir.makeDir("A");
- const tmpA = try tmp.dir.openDir("A", .{});
+ var tmpA = try tmp.dir.openDir("A", .{});
+ defer tmpA.close();
try tmpA.makeDir("B");
const testPath = "A" ++ fs.path.sep_str ++ "B" ++ fs.path.sep_str ++ "C";