authorgravatar for squeek502@hotmail.comRyan Liptak <squeek502@hotmail.com> 2025-12-19 03:24:02-08:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-12-23 22:15:11-08:00
log1136d36362f87ebad83007ea31d88c8427c0a019
tree29e8756450d2062b26893d814db0f28076606fc2
parent07c4ea2de0fa9246bec3c1ed9f7c2c57e4b25893

windows: Remove BadPathName from error set of GetFinalPathNameByHandle

These validations are really only checking for kernel/mount manager bugs, so an assert seems more appropriate.

1 files changed, 3 insertions(+), 7 deletions(-)

lib/std/os/windows.zig+3-7
......@@ -3599,7 +3599,6 @@ test QueryObjectName {
35993599
36003600pub const GetFinalPathNameByHandleError = error{
36013601 AccessDenied,
3602 BadPathName,
36033602 FileNotFound,
36043603 NameTooLong,
36053604 /// The volume does not contain a recognized file system. File system
......@@ -3705,6 +3704,7 @@ pub fn GetFinalPathNameByHandle(
37053704 error.WouldBlock => return error.Unexpected,
37063705 error.NetworkNotFound => return error.Unexpected,
37073706 error.AntivirusInterference => return error.Unexpected,
3707 error.BadPathName => return error.Unexpected,
37083708 else => |e| return e,
37093709 };
37103710 defer CloseHandle(mgmt_handle);
......@@ -3750,9 +3750,7 @@ pub fn GetFinalPathNameByHandle(
37503750 const total_len = drive_letter.len + file_name_u16.len;
37513751
37523752 // Validate that DOS does not contain any spurious nul bytes.
3753 if (mem.findScalar(u16, out_buffer[0..total_len], 0)) |_| {
3754 return error.BadPathName;
3755 }
3753 assert(mem.findScalar(u16, out_buffer[0..total_len], 0) == null);
37563754
37573755 return out_buffer[0..total_len];
37583756 } else if (mountmgrIsVolumeName(symlink)) {
......@@ -3802,9 +3800,7 @@ pub fn GetFinalPathNameByHandle(
38023800 const total_len = volume_path.len + file_name_u16.len;
38033801
38043802 // Validate that DOS does not contain any spurious nul bytes.
3805 if (mem.findScalar(u16, out_buffer[0..total_len], 0)) |_| {
3806 return error.BadPathName;
3807 }
3803 assert(mem.findScalar(u16, out_buffer[0..total_len], 0) == null);
38083804
38093805 return out_buffer[0..total_len];
38103806 }