authorgravatar for euantorano@gmail.comEuan Torano <euantorano@gmail.com> 2019-08-02 13:19:49+01:00
committergravatar for euantorano@gmail.comEuan Torano <euantorano@gmail.com> 2019-08-02 13:19:49+01:00
logc0c228b758150e017185dc280ef020ec3b7efdcf
tree5983981ffd565f03269941a2d37a2047afb06eae
parent6cb4cac5cd1c68f41c62a3c23b09513988337c8d

Check if /dev/urandom is a character device


1 files changed, 5 insertions(+), 0 deletions(-)

std/os.zig+5
......@@ -133,6 +133,11 @@ fn getRandomBytesDevURandom(buf: []u8) !void {
133133 const fd = try openC(c"/dev/urandom", O_RDONLY | O_CLOEXEC, 0);
134134 defer close(fd);
135135
136 const st = try fstat(fd);
137 if (!S_ISCHR(st.mode)) {
138 return OpenError.Unexpected;
139 }
140
136141 const stream = &std.fs.File.openHandle(fd).inStream().stream;
137142 stream.readNoEof(buf) catch return error.Unexpected;
138143}