Commit 7555085e63

Ryan Liptak <squeek502@hotmail.com>
2023-06-08 07:44:21
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 parent 2f18829
Changed files (1)
lib
std
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;