set usb_conv_info->endpoint to "no endpoint" for interface conversations

Change-Id: I625d20cc2c874f5b28c063590878077f8aa80196
Reviewed-on: https://code.wireshark.org/review/3780
Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
Tested-by: Martin Kaiser <wireshark@kaiser.cx>
This commit is contained in:
Martin Kaiser 2014-08-20 13:49:51 +02:00
parent b72acf37d0
commit a87112fafc
2 changed files with 9 additions and 6 deletions

View File

@ -1601,8 +1601,11 @@ dissect_usb_interface_descriptor(packet_info *pinfo, proto_tree *parent_tree,
if (!pinfo->fd->flags.visited && (alt_setting == 0)) {
/* Register conversation for this interface in case CONTROL messages are sent to it */
usb_trans_info->interface_info = get_usb_iface_conv_info(pinfo, interface_num);
/* in interface conversations, endpoint has no meaning */
usb_trans_info->interface_info->endpoint = NO_ENDPOINT8;
usb_trans_info->interface_info->interfaceClass = tvb_get_guint8(tvb, offset);
/* save information useful to class-specific dissectors */
usb_trans_info->interface_info->interfaceSubclass = tvb_get_guint8(tvb, offset+1);
usb_trans_info->interface_info->interfaceProtocol = tvb_get_guint8(tvb, offset+2);
usb_trans_info->interface_info->deviceVendor = usb_conv_info->deviceVendor;

View File

@ -116,11 +116,11 @@ typedef struct _usb_tap_data_t {
} usb_tap_data_t;
/* This is the endpoint number used for "no endpoint" or the fake endpoint
* for the host side since we need two endpoints to manage conversations
* properly.
*/
#define NO_ENDPOINT 0xffffffff
/* the value for "no endpoint" that's used usb_addr_t, e.g. for the address of the host */
#define NO_ENDPOINT 0xffffffff
/* the 8bit version of NO_ENDPOINT, it's used in usb_conv_info_t
0xff would be an invalid endpoint number (reserved bits are 1) */
#define NO_ENDPOINT8 ((guint8)(NO_ENDPOINT& G_MAXUINT8))
/*
* Values from the Linux USB pseudo-header.