diff --git a/Source/Tests/LinuxSyscalls/x32/Time.cpp b/Source/Tests/LinuxSyscalls/x32/Time.cpp index 37c3b135d..58031455a 100644 --- a/Source/Tests/LinuxSyscalls/x32/Time.cpp +++ b/Source/Tests/LinuxSyscalls/x32/Time.cpp @@ -72,16 +72,22 @@ namespace FEX::HLE::x32 { }); REGISTER_SYSCALL_IMPL_X32(clock_nanosleep, [](FEXCore::Core::CpuStateFrame *Frame, clockid_t clockid, int flags, const timespec32 *request, timespec32 *remain) -> uint64_t { - struct timespec req64{}; struct timespec rem64{}; struct timespec *rem64_ptr{}; - req64 = *request; if (remain) { rem64 = *remain; rem64_ptr = &rem64; } - uint64_t Result = ::clock_nanosleep(clockid, flags, &req64, rem64_ptr); + + uint64_t Result = 0; + if (request) { + const struct timespec req64 = *request; + Result = ::clock_nanosleep(clockid, flags, &req64, rem64_ptr); + } else { + Result = ::clock_nanosleep(clockid, flags, nullptr, rem64_ptr); + } + if (remain) { *remain = rem64; }