Commit dfc7132f authored by Zebediah Figura's avatar Zebediah Figura Committed by Alexandre Julliard

ntoskrnl.exe: Always set the IRP return size.

parent d99ecb07
...@@ -438,9 +438,9 @@ static NTSTATUS WINAPI dispatch_irp_completion( DEVICE_OBJECT *device, IRP *irp, ...@@ -438,9 +438,9 @@ static NTSTATUS WINAPI dispatch_irp_completion( DEVICE_OBJECT *device, IRP *irp,
{ {
req->handle = wine_server_obj_handle( irp_handle ); req->handle = wine_server_obj_handle( irp_handle );
req->status = irp->IoStatus.u.Status; req->status = irp->IoStatus.u.Status;
req->size = irp->IoStatus.Information;
if (irp->IoStatus.u.Status >= 0) if (irp->IoStatus.u.Status >= 0)
{ {
req->size = irp->IoStatus.Information;
if (out_buff) wine_server_add_data( req, out_buff, irp->IoStatus.Information ); if (out_buff) wine_server_add_data( req, out_buff, irp->IoStatus.Information );
} }
status = wine_server_call( req ); status = wine_server_call( req );
......
...@@ -445,7 +445,7 @@ static void test_return_status(void) ...@@ -445,7 +445,7 @@ static void test_return_status(void)
ok(!ret, "ioctl succeeded\n"); ok(!ret, "ioctl succeeded\n");
ok(GetLastError() == ERROR_MR_MID_NOT_FOUND, "got error %u\n", GetLastError()); 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(!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"); strcpy(buffer, "abcdef");
status = 0xceadbeef; status = 0xceadbeef;
...@@ -455,7 +455,7 @@ static void test_return_status(void) ...@@ -455,7 +455,7 @@ static void test_return_status(void)
ok(!ret, "ioctl succeeded\n"); ok(!ret, "ioctl succeeded\n");
ok(GetLastError() == ERROR_MR_MID_NOT_FOUND, "got error %u\n", GetLastError()); ok(GetLastError() == ERROR_MR_MID_NOT_FOUND, "got error %u\n", GetLastError());
ok(!strcmp(buffer, "abcdef"), "got buffer %s\n", buffer); 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) static void test_driver3(void)
......
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