authorgravatar for squeek502@hotmail.comRyan Liptak <squeek502@hotmail.com> 2023-06-07 22:44:21-07:00
committergravatar for squeek502@hotmail.comRyan Liptak <squeek502@hotmail.com> 2023-06-08 02:16:15-07:00
log7555085e6304419c25bb870567eb265bb22d0337
tree1a4c46fc3415aac4dbab75cfe757bece67683ace
parent2f188290e203780752597b0263581590af3a69b2

Directory iteration: handle `EACCES` returned from `getdents64`

This can occur for directories that the user does not have the necessary permissions to be able to iterate.

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

lib/std/fs.zig+1
......@@ -662,6 +662,7 @@ pub const IterableDir = struct {
662662 .NOTDIR => unreachable,
663663 .NOENT => return error.DirNotFound, // The directory being iterated was deleted during iteration.
664664 .INVAL => return error.Unexpected, // Linux may in some cases return EINVAL when reading /proc/$PID/net.
665 .ACCES => return error.AccessDenied, // Do not have permission to iterate this directory.
665666 else => |err| return os.unexpectedErrno(err),
666667 }
667668 if (rc == 0) return null;