diff --git a/libs/libc/src/init.cpp b/libs/libc/src/init.cpp index 25800253..c62ea1dc 100644 --- a/libs/libc/src/init.cpp +++ b/libs/libc/src/init.cpp @@ -15,7 +15,8 @@ static void initialize_random() { unsigned int seed = 3735928559U; - FILE* fp = fopen("/dev/random", "rw"); + int fd = open("/dev/random", O_RDONLY | O_CLOEXEC); // If we somehow fail to close this file, close it on exec. + FILE* fp = fdopen(fd, "r"); if (!fp) { errno = 0;