Commit 8481c8df authored by Rein Klazes's avatar Rein Klazes Committed by Alexandre Julliard

Work around a problem where WriteFile is asked to write memory

protected by DIBSection code.
parent 97d1b11e
......@@ -451,6 +451,16 @@ BOOL WINAPI WriteFile( HANDLE hFile, LPCVOID buffer, DWORD bytesToWrite,
status = NtWriteFile(hFile, hEvent, NULL, NULL, piosb,
buffer, bytesToWrite, poffset, NULL);
/* FIXME: NtWriteFile does not always cause page faults, generate them now */
if (status == STATUS_INVALID_USER_BUFFER && !IsBadReadPtr( buffer, bytesToWrite ))
{
status = NtWriteFile(hFile, hEvent, NULL, NULL, piosb,
buffer, bytesToWrite, poffset, NULL);
if (status != STATUS_INVALID_USER_BUFFER)
FIXME("Could not access memory (%p,%ld) at first, now OK. Protected by DIBSection code?\n",
buffer, bytesToWrite);
}
if (status != STATUS_PENDING && bytesWritten)
*bytesWritten = piosb->Information;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment