On Fri, Jun 04, 2004 at 08:07:25PM +1000, Herbert Xu wrote:
> On Thu, May 06, 2004 at 08:15:15PM +1000, herbert wrote:
> >
> > The current code is applying the maxusage limit to GUSAGE/SUSAGE. This
> > is incorrect as the number of values is stored in field->report_count,
> > not field->maxusage. The USB phone from www.virbiage.com is one device
> > where report_count exceeds maxusage.
>
> I've remove the changes unrelated to the boundary check. Please let me
> know if you have any problems with this patch.
Thanks, applied.
> ===== drivers/usb/input/hiddev.c 1.49 vs edited =====
> --- 1.49/drivers/usb/input/hiddev.c 2004-05-29 07:08:23 +10:00
> +++ edited/drivers/usb/input/hiddev.c 2004-06-04 20:02:29 +10:00
> @@ -638,15 +638,18 @@
> goto inval;
>
> field = report->field[uref->field_index];
> - if (uref->usage_index >= field->maxusage)
> - goto inval;
> -
> - if (cmd == HIDIOCGUSAGES || cmd == HIDIOCSUSAGES) {
> - if (uref_multi->num_values >= HID_MAX_USAGES ||
> - uref->usage_index >= field->maxusage ||
> - (uref->usage_index + uref_multi->num_values) >=
> field->maxusage)
> + if (cmd == HIDIOCGCOLLECTIONINDEX) {
> + if (uref->usage_index >= field->maxusage)
> goto inval;
> - }
> + } else if (uref->usage_index >= field->report_count)
> + goto inval;
> + else if ((cmd == HIDIOCGUSAGES ||
> + cmd == HIDIOCSUSAGES) &&
> + (uref->usage_index + uref_multi->num_values >=
> + field->report_count ||
> + uref->usage_index + uref_multi->num_values <
> + uref->usage_index))
> + goto inval;
> }
>
> switch (cmd) {
--
Vojtech Pavlik
SuSE Labs, SuSE CR
-------------------------------------------------------
This SF.Net email is sponsored by the new InstallShield X.
>From Windows to Linux, servers to mobile, InstallShield X is the one
installation-authoring solution that does it all. Learn more and
evaluate today! http://www.installshield.com/Dev2Dev/0504
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel