aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-usb-hid.c
diff options
context:
space:
mode:
authorDario Lombardo <lomato@gmail.com>2020-06-05 11:50:46 +0200
committerTomasz Moń <desowin@gmail.com>2020-06-09 11:02:32 +0000
commitfe5bcbaab04a9a4720399f40e49a74610f10b9ba (patch)
tree04e742645a21e2e40024a905dba7ff8187fad613 /epan/dissectors/packet-usb-hid.c
parent439b77d0329490987d63b69a89a596829918ac16 (diff)
usb-hid: skip report descriptor if caller doesn't provide it.
Callers of this function (such as packet-btatt) can pass usb_conv_info = NULL. In this case just skip the storing of the report. Bug: 16589 Change-Id: I29e7a15d20def5ce90aa3e1b1b3b960f11949e59 Reviewed-on: https://code.wireshark.org/review/37368 Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Filipe Laíns <lains@archlinux.org> Reviewed-by: Tomasz Moń <desowin@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-usb-hid.c')
-rw-r--r--epan/dissectors/packet-usb-hid.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/epan/dissectors/packet-usb-hid.c b/epan/dissectors/packet-usb-hid.c
index 5cd4522e56..4fcee4ed72 100644
--- a/epan/dissectors/packet-usb-hid.c
+++ b/epan/dissectors/packet-usb-hid.c
@@ -3721,10 +3721,12 @@ dissect_usb_hid_get_report_descriptor(packet_info *pinfo _U_, proto_tree *parent
tree = proto_item_add_subtree(item, ett_usb_hid_report);
offset = dissect_usb_hid_report_item(pinfo, tree, tvb, offset, usb_conv_info, &initial_global);
- data->usb_info = *usb_conv_info;
- data->desc_length = offset - old_offset;
- tvb_memdup(wmem_file_scope(), tvb, old_offset, data->desc_length);
- insert_report_descriptor(pinfo, data);
+ if (usb_conv_info) {
+ data->usb_info = *usb_conv_info;
+ data->desc_length = offset - old_offset;
+ tvb_memdup(wmem_file_scope(), tvb, old_offset, data->desc_length);
+ insert_report_descriptor(pinfo, data);
+ }
proto_item_set_len(item, offset-old_offset);