diff --git a/lib/std/fs.zig b/lib/std/fs.zig index f927d53962..a20f9942f6 100644 --- a/lib/std/fs.zig +++ b/lib/std/fs.zig @@ -892,6 +892,7 @@ pub const Dir = struct { try std.event.Loop.instance.?.openatZ(self.fd, sub_path_c, os_flags, flags.mode) else try os.openatZ(self.fd, sub_path_c, os_flags, flags.mode); + errdefer os.close(fd); if (!has_flock_open_flags and flags.lock != .None) { // TODO: integrate async I/O