// count all interface descriptors
//
DescriptorCount = ConfigurationDescriptor->bNumInterfaces;
+ if (DescriptorCount == 0)
+ {
+ DPRINT1("[USBCCGP] DescriptorCount is zero\n");
+ return STATUS_INVALID_PARAMETER;
+ }
//
// allocate array holding the interface descriptors
return STATUS_INSUFFICIENT_RESOURCES;
}
+ //
+ // reset interface list count
+ //
+ FDODeviceExtension->InterfaceListCount = 0;
+
do
{
//
//
// store in interface list
//
+ ASSERT(FDODeviceExtension->InterfaceListCount < DescriptorCount);
FDODeviceExtension->InterfaceList[FDODeviceExtension->InterfaceListCount].InterfaceDescriptor = InterfaceDescriptor;
FDODeviceExtension->InterfaceListCount++;
}