diff --git a/src/core/file_sys/devices/random_device.cpp b/src/core/file_sys/devices/random_device.cpp index 0e5c16151..35c2c5936 100644 --- a/src/core/file_sys/devices/random_device.cpp +++ b/src/core/file_sys/devices/random_device.cpp @@ -53,6 +53,8 @@ s64 RandomDevice::read(void* buf, u64 nbytes) { s32 RandomDevice::fstat(Libraries::Kernel::OrbisKernelStat* sb) { LOG_ERROR(Kernel_Fs, "(STUBBED) called"); + std::memset(sb, 0, sizeof(Libraries::Kernel::OrbisKernelStat)); + sb->st_mode = 0000777u | 0020000u; return 0; } diff --git a/src/core/file_sys/devices/random_device.h b/src/core/file_sys/devices/random_device.h index 6f813748e..230a7300f 100644 --- a/src/core/file_sys/devices/random_device.h +++ b/src/core/file_sys/devices/random_device.h @@ -4,6 +4,7 @@ #pragma once #include #include "core/file_sys/devices/base_device.h" +#include "core/libraries/kernel/file_system.h" namespace Core::Devices { diff --git a/src/core/file_sys/devices/srandom_device.cpp b/src/core/file_sys/devices/srandom_device.cpp index 0668cc581..33b7c584c 100644 --- a/src/core/file_sys/devices/srandom_device.cpp +++ b/src/core/file_sys/devices/srandom_device.cpp @@ -53,6 +53,8 @@ s64 SRandomDevice::read(void* buf, u64 nbytes) { s32 SRandomDevice::fstat(Libraries::Kernel::OrbisKernelStat* sb) { LOG_ERROR(Kernel_Fs, "(STUBBED) called"); + std::memset(sb, 0, sizeof(Libraries::Kernel::OrbisKernelStat)); + sb->st_mode = 0000777u | 0020000u; return 0; } diff --git a/src/core/file_sys/devices/srandom_device.h b/src/core/file_sys/devices/srandom_device.h index 3d41fb7fc..ef913e417 100644 --- a/src/core/file_sys/devices/srandom_device.h +++ b/src/core/file_sys/devices/srandom_device.h @@ -4,6 +4,7 @@ #pragma once #include #include "core/file_sys/devices/base_device.h" +#include "core/libraries/kernel/file_system.h" namespace Core::Devices { diff --git a/src/core/file_sys/devices/urandom_device.cpp b/src/core/file_sys/devices/urandom_device.cpp index 55a6194da..31847b6a9 100644 --- a/src/core/file_sys/devices/urandom_device.cpp +++ b/src/core/file_sys/devices/urandom_device.cpp @@ -53,6 +53,8 @@ s64 URandomDevice::read(void* buf, u64 nbytes) { s32 URandomDevice::fstat(Libraries::Kernel::OrbisKernelStat* sb) { LOG_ERROR(Kernel_Fs, "(STUBBED) called"); + std::memset(sb, 0, sizeof(Libraries::Kernel::OrbisKernelStat)); + sb->st_mode = 0000777u | 0020000u; return 0; } diff --git a/src/core/file_sys/devices/urandom_device.h b/src/core/file_sys/devices/urandom_device.h index b71df65b1..da8122b80 100644 --- a/src/core/file_sys/devices/urandom_device.h +++ b/src/core/file_sys/devices/urandom_device.h @@ -4,6 +4,7 @@ #pragma once #include #include "core/file_sys/devices/base_device.h" +#include "core/libraries/kernel/file_system.h" namespace Core::Devices {