authorgravatar for git@aiotter.comYuto Oguchi <git@aiotter.com> 2022-05-27 09:15:51+09:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2022-05-26 20:15:51-04:00
log43373e61fa4ff7098b7b481fa72c1d205c530421
tree10087b9f20000365b15eefcda7c562bc62b5644d
parente0a0df5a8a815ce99b40fd97a74b51d3fa9ab35d
signature Signed by PGP key 4AEE18F83AFDEB23

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.

2 files changed, 4 insertions(+), 4 deletions(-)

lib/std/c/darwin.zig+3-3
......@@ -928,12 +928,12 @@ pub const Sigaction = extern struct {
928928};
929929
930930pub const dirent = extern struct {
931 d_ino: usize,
932 d_seekoff: usize,
931 d_ino: u64,
932 d_seekoff: u64,
933933 d_reclen: u16,
934934 d_namlen: u16,
935935 d_type: u8,
936 d_name: u8, // field address is address of first byte of name
936 d_name: [1024]u8,
937937
938938 pub fn reclen(self: dirent) u16 {
939939 return self.d_reclen;
lib/std/c/netbsd.zig+1-1
......@@ -337,7 +337,7 @@ pub const dirent = extern struct {
337337 d_reclen: u16,
338338 d_namlen: u16,
339339 d_type: u8,
340 d_name: [MAXNAMLEN:0]u8,
340 d_name: [MAXNAMLEN + 1]u8,
341341
342342 pub fn reclen(self: dirent) u16 {
343343 return self.d_reclen;