Module: wine Branch: master Commit: dfc7132f50321dd9117930020c5fc670c905ddba URL: https://source.winehq.org/git/wine.git/?a=commit;h=dfc7132f50321dd9117930020...
Author: Zebediah Figura z.figura12@gmail.com Date: Tue Aug 6 22:48:43 2019 -0500
ntoskrnl.exe: Always set the IRP return size.
Signed-off-by: Zebediah Figura z.figura12@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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 92f9afa..40c18d8 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -438,9 +438,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 c701cf2..e7a8cc9 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)