Merge branch 'HID_parse_error_check' into USG_1.0

USG_1.0
Robert Fisk 9 years ago
commit 6d52d3b8fc

@ -182,16 +182,28 @@ HAL_StatusTypeDef Downstream_HID_Mouse_ParseReportDescriptor(void)
{
ReportXBitOffset = currentReportBitIndex + (currentReportSize * xUsageIndex);
ReportXBitLength = currentReportSize;
if ((ReportXBitOffset + ReportXBitLength) > (HID_MAX_REPORT_LEN * 8))
{
return HAL_ERROR;
}
}
if (yUsageIndex != 0xFF)
{
ReportYBitOffset = currentReportBitIndex + (currentReportSize * yUsageIndex);
ReportYBitLength = currentReportSize;
if ((ReportYBitOffset + ReportYBitLength) > (HID_MAX_REPORT_LEN * 8))
{
return HAL_ERROR;
}
}
if (wheelUsageIndex != 0xFF)
{
ReportWheelBitOffset = currentReportBitIndex + (currentReportSize * wheelUsageIndex);
ReportWheelBitLength = currentReportSize;
if ((ReportWheelBitOffset + ReportWheelBitLength) > (HID_MAX_REPORT_LEN * 8))
{
return HAL_ERROR;
}
}
}
break;
@ -201,10 +213,6 @@ HAL_StatusTypeDef Downstream_HID_Mouse_ParseReportDescriptor(void)
yUsageIndex = 0xFF;
wheelUsageIndex = 0xFF;
currentReportBitIndex += (currentReportSize * currentReportCount);
if (currentReportBitIndex >= (HID_MAX_REPORT_LEN * 8))
{
return HAL_ERROR;
}
break;
}
}

Loading…
Cancel
Save