Re: [ros-diffs] [reactos] 01/01: KBDHID: IOCTL_KEYBOARD_QUERY_* calls must return STATUS_BUFFER_TOO_SMALL if the output buffer is too small

Thomas Faber <[email protected]> Sun, 12 Sep 2021 11:49:59 -0400
Newsgroups gmane.os.reactos.kernel
Message-ID <[email protected]>
On 2021-09-12 08:34, Eric Kohl wrote:
> diff --git a/drivers/hid/kbdhid/kbdhid.c b/drivers/hid/kbdhid/kbdhid.c
> index bacf72a0109..b07a7d8445c 100644
> --- a/drivers/hid/kbdhid/kbdhid.c
> +++ b/drivers/hid/kbdhid/kbdhid.c
> @@ -444,8 +444,8 @@ KbdHid_InternalDeviceControl(
>           case IOCTL_KEYBOARD_QUERY_INDICATORS:
>               if (IoStack->Parameters.DeviceIoControl.OutputBufferLength < sizeof(KEYBOARD_INDICATOR_PARAMETERS))
>               {
> -                /* invalid parameter */
> -                Irp->IoStatus.Status = STATUS_INVALID_PARAMETER;
> +                /* buffer too small */
> +                Irp->IoStatus.Status = STATUS_BUFFER_TOO_SMALL;
>                   IoCompleteRequest(Irp, IO_NO_INCREMENT);
>                   return STATUS_INVALID_PARAMETER;

Shouldn't the dispatch routine's return value change accordingly in 
these cases?

Thanks,
Thomas