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

Aric Stewart aric at codeweavers.com
Tue Jan 9 13:03:05 CST 2018


Signed-off-by: Aric Stewart <aric at codeweavers.com>

On 1/9/18 10:28 AM, Andrew Eikum wrote:
> 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)
> 



More information about the wine-devel mailing list