diff --git a/Source/Tools/LinuxEmulation/LinuxSyscalls/x32/FD.cpp b/Source/Tools/LinuxEmulation/LinuxSyscalls/x32/FD.cpp index a3a2a8cab..1e1eda1b2 100644 --- a/Source/Tools/LinuxEmulation/LinuxSyscalls/x32/FD.cpp +++ b/Source/Tools/LinuxEmulation/LinuxSyscalls/x32/FD.cpp @@ -917,6 +917,9 @@ void RegisterFD(FEX::HLE::SyscallHandler* Handler) { Local = *offset; } uint64_t Result = ::sendfile(out_fd, in_fd, Local_p, count); + if (Result != -1 && offset) { + *offset = static_cast(Local); + } SYSCALL_ERRNO(); });