aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB/Class/Common
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2011-05-14 02:17:58 +0000
committerDean Camera <dean@fourwalledcubicle.com>2011-05-14 02:17:58 +0000
commit049e9309637cd057689cf273b2023afb0d6876ae (patch)
tree184919dd3e728aad41bc3bb1567b6f95f18564aa /LUFA/Drivers/USB/Class/Common
parent78e58b6d1c645c3ba1afaa536e2ba5bdab2b235b (diff)
downloadlufa-049e9309637cd057689cf273b2023afb0d6876ae.tar.gz
lufa-049e9309637cd057689cf273b2023afb0d6876ae.tar.bz2
lufa-049e9309637cd057689cf273b2023afb0d6876ae.zip
Fixed possible invalid program execution when in host mode if corrupt descriptor lengths are supplied by the attached device.
Minor code cleanups to add const and reformat where missing, as well as abstract out the internal device signature start address into a macro, so that it can be altered to suit particular devices within a single architecture if needed. Add missing documentation to the USB_Device_States_t enum.
Diffstat (limited to 'LUFA/Drivers/USB/Class/Common')
-rw-r--r--LUFA/Drivers/USB/Class/Common/HIDParser.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/LUFA/Drivers/USB/Class/Common/HIDParser.c b/LUFA/Drivers/USB/Class/Common/HIDParser.c
index 20fceab64..b90f89eb2 100644
--- a/LUFA/Drivers/USB/Class/Common/HIDParser.c
+++ b/LUFA/Drivers/USB/Class/Common/HIDParser.c
@@ -351,7 +351,7 @@ uint16_t USB_GetHIDReportSize(HID_ReportInfo_t* const ParserData,
uint16_t ReportSizeBits = ParserData->ReportIDSizes[i].ReportSizeBits[ReportType];
if (ParserData->ReportIDSizes[i].ReportID == ReportID)
- return ((ReportSizeBits >> 3) + ((ReportSizeBits & 0x07) ? 1 : 0));
+ return (ReportSizeBits / 8) + ((ReportSizeBits % 8) ? 1 : 0);
}
return 0;