Commit a58ecf7b09

salo-dea <46715729+salo-dea@users.noreply.github.com>
2023-11-10 17:04:08
Do not assume that FILE_BOTH_DIR_INFORMATION is correctly aligned
1 parent dc72f17
Changed files (1)
lib
std
lib/std/fs.zig
@@ -749,7 +749,9 @@ pub const IterableDir = struct {
                         }
                     }
 
-                    const dir_info: *w.FILE_BOTH_DIR_INFORMATION = @ptrCast(@alignCast(&self.buf[self.index]));
+                    // While the official api docs guarantee FILE_BOTH_DIR_INFORMATION to be aligned properly
+                    // this may not always be the case (e.g. due to faulty VM/Sandboxing tools)
+                    const dir_info: *align(2) w.FILE_BOTH_DIR_INFORMATION = @ptrCast(@alignCast(&self.buf[self.index]));
                     if (dir_info.NextEntryOffset != 0) {
                         self.index += dir_info.NextEntryOffset;
                     } else {