interface and endpoint descriptors can't possibly appear in a

get descriptor response on their own, only as part of a configuration
descriptor

Change-Id: I2d70ab1d1adc19cbc0fe8c2c835071153a40ae7d
Reviewed-on: https://code.wireshark.org/review/3730
Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
Tested-by: Martin Kaiser <wireshark@kaiser.cx>
This commit is contained in:
Martin Kaiser 2014-08-19 21:51:11 +02:00
parent 5dc742b35f
commit 543153bc92
1 changed files with 5 additions and 6 deletions

View File

@ -2053,6 +2053,11 @@ dissect_usb_setup_get_descriptor_response(packet_info *pinfo, proto_tree *tree,
val_to_str_ext(usb_trans_info->u.get_descriptor.type, &std_descriptor_type_vals_ext, "Unknown type %u"));
switch(usb_trans_info->u.get_descriptor.type) {
case USB_DT_INTERFACE:
case USB_DT_ENDPOINT:
/* an interface or an endpoint descriptor can only be accessed
as part of a configuration descriptor */
break;
case USB_DT_DEVICE:
offset = dissect_usb_device_descriptor(pinfo, tree, tvb, offset, usb_trans_info, usb_conv_info);
break;
@ -2062,12 +2067,6 @@ dissect_usb_setup_get_descriptor_response(packet_info *pinfo, proto_tree *tree,
case USB_DT_STRING:
offset = dissect_usb_string_descriptor(pinfo, tree, tvb, offset, usb_trans_info, usb_conv_info);
break;
case USB_DT_INTERFACE:
offset = dissect_usb_interface_descriptor(pinfo, tree, tvb, offset, usb_trans_info, usb_conv_info);
break;
case USB_DT_ENDPOINT:
offset = dissect_usb_endpoint_descriptor(pinfo, tree, tvb, offset, usb_trans_info, usb_conv_info);
break;
case USB_DT_DEVICE_QUALIFIER:
offset = dissect_usb_device_qualifier_descriptor(pinfo, tree, tvb, offset, usb_trans_info, usb_conv_info);
break;