zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 43373e61fa4ff7098b7b481fa72c1d205c530421 (tree)
parent e0a0df5a8a815ce99b40fd97a74b51d3fa9ab35d
Author: Yuto Oguchi <git@aiotter.com>
Date:   Fri, 27 May 2022 09:15:51 +0900

std.c: Fix incorrect dirent structure (#11602)

d_name is a null-terminated string, but it is not guaranteed that the
last byte of the array is null.
Diffstat:
Mlib/std/c/darwin.zig | 6+++---
Mlib/std/c/netbsd.zig | 2+-
2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/std/c/darwin.zig b/lib/std/c/darwin.zig @@ -928,12 +928,12 @@ pub const Sigaction = extern struct { }; pub const dirent = extern struct { - d_ino: usize, - d_seekoff: usize, + d_ino: u64, + d_seekoff: u64, d_reclen: u16, d_namlen: u16, d_type: u8, - d_name: u8, // field address is address of first byte of name + d_name: [1024]u8, pub fn reclen(self: dirent) u16 { return self.d_reclen; diff --git a/lib/std/c/netbsd.zig b/lib/std/c/netbsd.zig @@ -337,7 +337,7 @@ pub const dirent = extern struct { d_reclen: u16, d_namlen: u16, d_type: u8, - d_name: [MAXNAMLEN:0]u8, + d_name: [MAXNAMLEN + 1]u8, pub fn reclen(self: dirent) u16 { return self.d_reclen;