[PATCH] hid: Pass a buffer to DeviceIoControl in HidD_SetNumInputBuffers

Andrew Eikum aeikum at codeweavers.com
Tue Jan 9 10:28:18 CST 2018


DeviceIoControl expects a pointer, and this value gets dereferenced as a
ULONG* in hidclass.sys.

Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
---
 dlls/hid/hidd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dlls/hid/hidd.c b/dlls/hid/hidd.c
index 1161f0cba6..614e7c4bf5 100644
--- a/dlls/hid/hidd.c
+++ b/dlls/hid/hidd.c
@@ -102,7 +102,7 @@ BOOLEAN WINAPI HidD_SetFeature(HANDLE HidDeviceObject, PVOID ReportBuffer, ULONG
 BOOLEAN WINAPI HidD_SetNumInputBuffers(HANDLE HidDeviceObject, ULONG NumberBuffers)
 {
     TRACE("(%p %i)\n", HidDeviceObject, NumberBuffers);
-    return DeviceIoControl(HidDeviceObject, IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS, UlongToPtr(NumberBuffers), sizeof(NumberBuffers), NULL, 0, NULL, NULL);
+    return DeviceIoControl(HidDeviceObject, IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS, &NumberBuffers, sizeof(NumberBuffers), NULL, 0, NULL, NULL);
 }
 
 BOOLEAN WINAPI HidD_GetProductString(HANDLE HidDeviceObject, PVOID Buffer, ULONG BufferLength)
-- 
2.15.1




More information about the wine-devel mailing list