hidclass.sys: Return STATUS_INVALID_USER_BUFFER if buffer_len is 0.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
98c512e026
commit
25409b899c
|
@ -334,7 +334,7 @@ static void hid_device_xfer_report( BASE_DEVICE_EXTENSION *ext, ULONG code, IRP
|
|||
break;
|
||||
}
|
||||
|
||||
if (!buffer)
|
||||
if (!buffer || !buffer_len)
|
||||
{
|
||||
irp->IoStatus.Status = STATUS_INVALID_USER_BUFFER;
|
||||
return;
|
||||
|
|
|
@ -2582,7 +2582,7 @@ static void test_hidp(HANDLE file, HANDLE async_file, int report_id, BOOL polled
|
|||
SetLastError(0xdeadbeef);
|
||||
ret = HidD_SetOutputReport(file, report, 0);
|
||||
ok(!ret, "HidD_SetOutputReport succeeded\n");
|
||||
todo_wine ok(GetLastError() == ERROR_INVALID_USER_BUFFER, "HidD_SetOutputReport returned error %u\n", GetLastError());
|
||||
ok(GetLastError() == ERROR_INVALID_USER_BUFFER, "HidD_SetOutputReport returned error %u\n", GetLastError());
|
||||
|
||||
SetLastError(0xdeadbeef);
|
||||
ret = HidD_SetOutputReport(file, report, caps.OutputReportByteLength - 1);
|
||||
|
@ -2614,7 +2614,7 @@ static void test_hidp(HANDLE file, HANDLE async_file, int report_id, BOOL polled
|
|||
SetLastError(0xdeadbeef);
|
||||
ret = sync_ioctl(file, IOCTL_HID_SET_OUTPUT_REPORT, NULL, 0, report, &value);
|
||||
ok(!ret, "IOCTL_HID_SET_OUTPUT_REPORT succeeded\n");
|
||||
todo_wine ok(GetLastError() == ERROR_INVALID_USER_BUFFER, "IOCTL_HID_SET_OUTPUT_REPORT returned error %u\n", GetLastError());
|
||||
ok(GetLastError() == ERROR_INVALID_USER_BUFFER, "IOCTL_HID_SET_OUTPUT_REPORT returned error %u\n", GetLastError());
|
||||
value = 0;
|
||||
SetLastError(0xdeadbeef);
|
||||
ret = sync_ioctl(file, IOCTL_HID_SET_OUTPUT_REPORT, report, caps.OutputReportByteLength * 2, NULL, &value);
|
||||
|
|
Loading…
Reference in New Issue