From b7c02da1f360c214ae9fc822cc11213c9f729cdc Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Thu, 7 Aug 2014 23:10:19 +0200 Subject: get conversation info when we parse audio class-specific descriptors reject the descriptor if the class is not audio Change-Id: Ie07f0fb711884e63cbe86d9417570108edd6b5ab Reviewed-on: https://code.wireshark.org/review/3578 Reviewed-by: Martin Kaiser Tested-by: Martin Kaiser --- epan/dissectors/packet-usb-audio.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'epan/dissectors/packet-usb-audio.c') diff --git a/epan/dissectors/packet-usb-audio.c b/epan/dissectors/packet-usb-audio.c index f9b80d186e..7d8022ec47 100644 --- a/epan/dissectors/packet-usb-audio.c +++ b/epan/dissectors/packet-usb-audio.c @@ -244,12 +244,17 @@ dissect_usb_midi_event(tvbuff_t *tvb, packet_info *pinfo, static gint dissect_usb_audio_descriptor(tvbuff_t *tvb, packet_info *pinfo _U_, - proto_tree *tree, void *data _U_) + proto_tree *tree, void *data) { - gint offset = 0; - guint8 descriptor_len; - guint8 descriptor_type; - proto_tree *desc_tree; + gint offset = 0; + usb_conv_info_t *usb_conv_info; + guint8 descriptor_len; + guint8 descriptor_type; + proto_tree *desc_tree; + + usb_conv_info = (usb_conv_info_t *)data; + if (!usb_conv_info || usb_conv_info->interfaceClass!=IF_CLASS_AUDIO) + return 0; descriptor_len = tvb_get_guint8(tvb, offset); descriptor_type = tvb_get_guint8(tvb, offset+1); -- cgit v1.2.3