From 94c899d7b7b84cd170d75e1fbb4e696cf3447c27 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Thu, 27 Aug 2009 22:34:41 +0000 Subject: Fixed Device mode HID Class driver not explicitly initializing the ReportSize parameter to zero before calling callback routine, so that ignored callbacks don't cause incorrect data to be sent. --- LUFA/Drivers/USB/Class/Device/HID.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'LUFA/Drivers') diff --git a/LUFA/Drivers/USB/Class/Device/HID.c b/LUFA/Drivers/USB/Class/Device/HID.c index b44d4db63..a99c2647c 100644 --- a/LUFA/Drivers/USB/Class/Device/HID.c +++ b/LUFA/Drivers/USB/Class/Device/HID.c @@ -48,8 +48,8 @@ void HID_Device_ProcessControlRequest(USB_ClassInfo_HID_Device_t* const HIDInter { Endpoint_ClearSETUP(); - uint16_t ReportINSize; - uint8_t ReportID = (USB_ControlRequest.wValue & 0xFF); + uint16_t ReportINSize = 0; + uint8_t ReportID = (USB_ControlRequest.wValue & 0xFF); memset(HIDInterfaceInfo->Config.PrevReportINBuffer, 0, HIDInterfaceInfo->Config.PrevReportINBufferSize); @@ -151,8 +151,8 @@ void HID_Device_USBTask(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo) if (Endpoint_IsReadWriteAllowed()) { uint8_t ReportINData[HIDInterfaceInfo->Config.PrevReportINBufferSize]; - uint8_t ReportID = 0; - uint16_t ReportINSize; + uint8_t ReportID = 0; + uint16_t ReportINSize = 0; memset(ReportINData, 0, sizeof(ReportINData)); -- cgit v1.2.3