[PATCH 3/4] ntoskrnl.exe: Always set the IRP return size.
Zebediah Figura
z.figura12 at gmail.com
Tue Aug 6 22:48:43 CDT 2019
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
dlls/ntoskrnl.exe/ntoskrnl.c | 2 +-
dlls/ntoskrnl.exe/tests/ntoskrnl.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 9be6e34547..2738d727f0 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -440,9 +440,9 @@ 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)
{
- req->size = irp->IoStatus.Information;
if (out_buff) wine_server_add_data( req, out_buff, irp->IoStatus.Information );
}
status = wine_server_call( req );
diff --git a/dlls/ntoskrnl.exe/tests/ntoskrnl.c b/dlls/ntoskrnl.exe/tests/ntoskrnl.c
index c701cf21d8..e7a8cc987a 100644
--- a/dlls/ntoskrnl.exe/tests/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/tests/ntoskrnl.c
@@ -445,7 +445,7 @@ static void test_return_status(void)
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);
- todo_wine ok(ret_size == 3, "got size %u\n", ret_size);
+ ok(ret_size == 3, "got size %u\n", ret_size);
strcpy(buffer, "abcdef");
status = 0xceadbeef;
@@ -455,7 +455,7 @@ static void test_return_status(void)
ok(!ret, "ioctl succeeded\n");
ok(GetLastError() == ERROR_MR_MID_NOT_FOUND, "got error %u\n", GetLastError());
ok(!strcmp(buffer, "abcdef"), "got buffer %s\n", buffer);
- todo_wine ok(ret_size == 3, "got size %u\n", ret_size);
+ ok(ret_size == 3, "got size %u\n", ret_size);
}
static void test_driver3(void)
--
2.22.0
More information about the wine-devel
mailing list