Zebediah Figura : ntoskrnl.exe: Set the IRP output buffer unless the status has both high bits set.
Alexandre Julliard
julliard at winehq.org
Thu Aug 8 19:27:19 CDT 2019
Module: wine
Branch: master
Commit: b9919c2e7f7ac92417cb2d8ed10414b318f03f1e
URL: https://source.winehq.org/git/wine.git/?a=commit;h=b9919c2e7f7ac92417cb2d8ed10414b318f03f1e
Author: Zebediah Figura <z.figura12 at gmail.com>
Date: Wed Aug 7 21:10:12 2019 -0500
ntoskrnl.exe: Set the IRP output buffer unless the status has both high bits set.
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/ntoskrnl.exe/ntoskrnl.c | 2 +-
dlls/ntoskrnl.exe/tests/ntoskrnl.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 6488e52..ccc5fce 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -439,7 +439,7 @@ static NTSTATUS WINAPI dispatch_irp_completion( DEVICE_OBJECT *device, IRP *irp,
req->handle = wine_server_obj_handle( irp_handle );
req->status = irp->IoStatus.u.Status;
req->size = irp->IoStatus.Information;
- if (irp->IoStatus.u.Status >= 0)
+ if (!NT_ERROR(irp->IoStatus.u.Status))
{
if (out_buff) wine_server_add_data( req, out_buff, irp->IoStatus.Information );
}
diff --git a/dlls/ntoskrnl.exe/tests/ntoskrnl.c b/dlls/ntoskrnl.exe/tests/ntoskrnl.c
index e7a8cc9..86dce75 100644
--- a/dlls/ntoskrnl.exe/tests/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/tests/ntoskrnl.c
@@ -444,7 +444,7 @@ static void test_return_status(void)
sizeof(status), buffer, sizeof(buffer), &ret_size, NULL);
ok(!ret, "ioctl succeeded\n");
ok(GetLastError() == ERROR_MR_MID_NOT_FOUND, "got error %u\n", GetLastError());
- todo_wine ok(!strcmp(buffer, "ghidef"), "got buffer %s\n", buffer);
+ ok(!strcmp(buffer, "ghidef"), "got buffer %s\n", buffer);
ok(ret_size == 3, "got size %u\n", ret_size);
strcpy(buffer, "abcdef");
More information about the wine-cvs
mailing list