Dir.makeOpenPathAccessMaskW: Fix leaking intermediate directory handles

Fixes a regression introduced in 67455c5e70e86dbb7805ff9a415f1b13b14f36da. The `errdefer` cannot run since its not possible for an error to occur, and we don't want it to run on the last handle, so we move the closing back down to where it was before 67455c5e70e86dbb7805ff9a415f1b13b14f36da.
This commit is contained in:
Ryan Liptak 2024-06-04 18:44:07 -07:00
parent 332fbb4b02
commit 5490021ab7

View File

@ -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();
}
}
}