commit 7555085e6304419c25bb870567eb265bb22d0337 (tree)
parent 2f188290e203780752597b0263581590af3a69b2
Author: Ryan Liptak <squeek502@hotmail.com>
Date: Wed, 7 Jun 2023 22:44:21 -0700
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.
Diffstat:
1 file changed, 1 insertion(+), 0 deletions(-)
diff --git a/lib/std/fs.zig b/lib/std/fs.zig
@@ -662,6 +662,7 @@ pub const IterableDir = struct {
.NOTDIR => unreachable,
.NOENT => return error.DirNotFound, // The directory being iterated was deleted during iteration.
.INVAL => return error.Unexpected, // Linux may in some cases return EINVAL when reading /proc/$PID/net.
+ .ACCES => return error.AccessDenied, // Do not have permission to iterate this directory.
else => |err| return os.unexpectedErrno(err),
}
if (rc == 0) return null;