diff options
author | Martin Kaiser <wireshark@kaiser.cx> | 2014-08-07 23:10:19 +0200 |
---|---|---|
committer | Martin Kaiser <wireshark@kaiser.cx> | 2014-08-13 21:02:42 +0000 |
commit | b7c02da1f360c214ae9fc822cc11213c9f729cdc (patch) | |
tree | 41477e43a424d8fedb404babb5c4bf9fc218237f /epan/dissectors/packet-usb-audio.c | |
parent | 2952daa2bdf02e0fe4a17009cefd0d79dfae76cb (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.c | 15 |
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); |