ntdll: NtWriteFile should fail for overlapped IO on files if offset is negative.
This commit is contained in:
parent
84d9b2502e
commit
9e50cc540a
|
@ -961,7 +961,7 @@ NTSTATUS WINAPI NtWriteFile(HANDLE hFile, HANDLE hEvent,
|
||||||
|
|
||||||
if (type == FD_TYPE_FILE)
|
if (type == FD_TYPE_FILE)
|
||||||
{
|
{
|
||||||
if (!(options & (FILE_SYNCHRONOUS_IO_ALERT | FILE_SYNCHRONOUS_IO_NONALERT)) && !offset)
|
if (!(options & (FILE_SYNCHRONOUS_IO_ALERT | FILE_SYNCHRONOUS_IO_NONALERT)) && (!offset || offset->QuadPart < 0))
|
||||||
{
|
{
|
||||||
status = STATUS_INVALID_PARAMETER;
|
status = STATUS_INVALID_PARAMETER;
|
||||||
goto done;
|
goto done;
|
||||||
|
|
|
@ -2198,9 +2198,6 @@ todo_wine
|
||||||
|
|
||||||
for (i = -20; i < -1; i++)
|
for (i = -20; i < -1; i++)
|
||||||
{
|
{
|
||||||
/* FIXME: Remove once Wine is fixed */
|
|
||||||
if (i == -2) continue;
|
|
||||||
|
|
||||||
iob.Status = -1;
|
iob.Status = -1;
|
||||||
iob.Information = -1;
|
iob.Information = -1;
|
||||||
offset.QuadPart = (LONGLONG)i;
|
offset.QuadPart = (LONGLONG)i;
|
||||||
|
@ -2210,17 +2207,6 @@ todo_wine
|
||||||
ok(iob.Information == -1, "expected -1, got %ld\n", iob.Information);
|
ok(iob.Information == -1, "expected -1, got %ld\n", iob.Information);
|
||||||
}
|
}
|
||||||
|
|
||||||
iob.Status = -1;
|
|
||||||
iob.Information = -1;
|
|
||||||
offset.QuadPart = (LONGLONG)-2 /* FILE_USE_FILE_POINTER_POSITION */;
|
|
||||||
status = pNtWriteFile(hfile, 0, NULL, NULL, &iob, contents, sizeof(contents), &offset, NULL);
|
|
||||||
todo_wine
|
|
||||||
ok(status == STATUS_INVALID_PARAMETER, "expected STATUS_INVALID_PARAMETER, got %#x\n", status);
|
|
||||||
todo_wine
|
|
||||||
ok(iob.Status == -1, "expected -1, got %#x\n", iob.Status);
|
|
||||||
todo_wine
|
|
||||||
ok(iob.Information == -1, "expected -1, got %ld\n", iob.Information);
|
|
||||||
|
|
||||||
iob.Status = -1;
|
iob.Status = -1;
|
||||||
iob.Information = -1;
|
iob.Information = -1;
|
||||||
offset.QuadPart = 0;
|
offset.QuadPart = 0;
|
||||||
|
|
Loading…
Reference in New Issue