diff --git a/files/file.c b/files/file.c index 0038b356d6a..14c5e6da38b 100644 --- a/files/file.c +++ b/files/file.c @@ -1162,7 +1162,7 @@ BOOL WINAPI ReadFile( HANDLE hFile, LPVOID buffer, DWORD bytesToRead, while ((result = read( unix_handle, buffer, bytesToRead )) == -1) { if ((errno == EAGAIN) || (errno == EINTR)) continue; - if ((errno == EFAULT) && VIRTUAL_HandleFault( buffer )) continue; + if ((errno == EFAULT) && !VIRTUAL_HandleFault( buffer )) continue; FILE_SetDosError(); break; } @@ -1198,7 +1198,7 @@ BOOL WINAPI WriteFile( HANDLE hFile, LPCVOID buffer, DWORD bytesToWrite, while ((result = write( unix_handle, buffer, bytesToWrite )) == -1) { if ((errno == EAGAIN) || (errno == EINTR)) continue; - if ((errno == EFAULT) && VIRTUAL_HandleFault( buffer )) continue; + if ((errno == EFAULT) && !VIRTUAL_HandleFault( buffer )) continue; if (errno == ENOSPC) SetLastError( ERROR_DISK_FULL ); else