aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2011-06-20 01:57:22 +0000
committerDean Camera <dean@fourwalledcubicle.com>2011-06-20 01:57:22 +0000
commitbb0b761c6581604d71716e24bfdfed68b0093527 (patch)
treea656c040b229a24a2b7d358dbf8e978ebfd3f602
parent6599238dab21b864a40ca1873f3621d9bbd10a4c (diff)
downloadlufa-bb0b761c6581604d71716e24bfdfed68b0093527.tar.gz
lufa-bb0b761c6581604d71716e24bfdfed68b0093527.tar.bz2
lufa-bb0b761c6581604d71716e24bfdfed68b0093527.zip
Make the HID Report Parser Get/Set Report Item routines fail if a NULL pointer to a report item is given.
Minor visual enhancement to the HIDReportViewer project.
-rw-r--r--LUFA/Drivers/USB/Class/Common/HIDParser.c6
-rw-r--r--Projects/HIDReportViewer/HIDReportViewer.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/LUFA/Drivers/USB/Class/Common/HIDParser.c b/LUFA/Drivers/USB/Class/Common/HIDParser.c
index b90f89eb2..eb2f14c35 100644
--- a/LUFA/Drivers/USB/Class/Common/HIDParser.c
+++ b/LUFA/Drivers/USB/Class/Common/HIDParser.c
@@ -290,6 +290,9 @@ uint8_t USB_ProcessHIDReport(const uint8_t* ReportData,
bool USB_GetHIDReportItemInfo(const uint8_t* ReportData,
HID_ReportItem_t* const ReportItem)
{
+ if (ReportItem == NULL)
+ return false;
+
uint16_t DataBitsRem = ReportItem->Attributes.BitSize;
uint16_t CurrentBit = ReportItem->BitOffset;
uint32_t BitMask = (1 << 0);
@@ -320,6 +323,9 @@ bool USB_GetHIDReportItemInfo(const uint8_t* ReportData,
void USB_SetHIDReportItemInfo(uint8_t* ReportData,
HID_ReportItem_t* const ReportItem)
{
+ if (ReportItem == NULL)
+ return;
+
uint16_t DataBitsRem = ReportItem->Attributes.BitSize;
uint16_t CurrentBit = ReportItem->BitOffset;
uint32_t BitMask = (1 << 0);
diff --git a/Projects/HIDReportViewer/HIDReportViewer.c b/Projects/HIDReportViewer/HIDReportViewer.c
index e01a38a7e..58f9d5eaa 100644
--- a/Projects/HIDReportViewer/HIDReportViewer.c
+++ b/Projects/HIDReportViewer/HIDReportViewer.c
@@ -140,7 +140,7 @@ int main(void)
((ReportSizeFeatureBits >> 3) + ((ReportSizeFeatureBits & 0x07) != 0)));
}
- printf_P(PSTR("\r\n\r\nReport Items: %d\r\n"), HIDReportInfo.TotalDeviceReports);
+ puts_P(PSTR("\r\nReport Items:\r\n"));
for (uint8_t ItemIndex = 0; ItemIndex < HIDReportInfo.TotalReportItems; ItemIndex++)
{
const HID_ReportItem_t* RItem = &HIDReportInfo.ReportItems[ItemIndex];