aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-usb-audio.c
diff options
context:
space:
mode:
authorMartin Kaiser <wireshark@kaiser.cx>2014-08-07 23:10:19 +0200
committerMartin Kaiser <wireshark@kaiser.cx>2014-08-13 21:02:42 +0000
commitb7c02da1f360c214ae9fc822cc11213c9f729cdc (patch)
tree41477e43a424d8fedb404babb5c4bf9fc218237f /epan/dissectors/packet-usb-audio.c
parent2952daa2bdf02e0fe4a17009cefd0d79dfae76cb (diff)
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 <wireshark@kaiser.cx> Tested-by: Martin Kaiser <wireshark@kaiser.cx>
Diffstat (limited to 'epan/dissectors/packet-usb-audio.c')
-rw-r--r--epan/dissectors/packet-usb-audio.c15
1 files changed, 10 insertions, 5 deletions
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);