aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-usb.c
diff options
context:
space:
mode:
authorMartin Kaiser <wireshark@kaiser.cx>2012-10-23 21:02:28 +0000
committerMartin Kaiser <wireshark@kaiser.cx>2012-10-23 21:02:28 +0000
commit31f7fee054c96c66b5e33fdbbde28fa9330cefe3 (patch)
treef447495b3152f18870e4efb07aefdf675804e0d8 /epan/dissectors/packet-usb.c
parentf05cc88f6fab351a7b88a02aeae9d074f04f9b73 (diff)
From Steve Magnani
fix USB descriptor parsing https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7909 svn path=/trunk/; revision=45742
Diffstat (limited to 'epan/dissectors/packet-usb.c')
-rw-r--r--epan/dissectors/packet-usb.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/epan/dissectors/packet-usb.c b/epan/dissectors/packet-usb.c
index d1ae5767b8..8121dcb545 100644
--- a/epan/dissectors/packet-usb.c
+++ b/epan/dissectors/packet-usb.c
@@ -1101,8 +1101,9 @@ dissect_usb_interface_descriptor(packet_info *pinfo, proto_tree *parent_tree, tv
if(item){
proto_item_set_len(item, len);
}
- if (offset != old_offset + len) {
- /* unknown records */
+ if (offset < old_offset+len) {
+ /* skip unknown records */
+ offset = old_offset + len;
}
return offset;
@@ -1225,8 +1226,9 @@ dissect_usb_endpoint_descriptor(packet_info *pinfo, proto_tree *parent_tree, tvb
if(item){
proto_item_set_len(item, len);
}
- if (offset != old_offset + len) {
- /* unknown records */
+ if (offset < old_offset+len) {
+ /* skip unknown records */
+ offset = old_offset + len;
}
return offset;