diff options
author | Dario Lombardo <lomato@gmail.com> | 2020-06-05 11:50:46 +0200 |
---|---|---|
committer | Tomasz Moń <desowin@gmail.com> | 2020-06-09 11:02:32 +0000 |
commit | fe5bcbaab04a9a4720399f40e49a74610f10b9ba (patch) | |
tree | 04e742645a21e2e40024a905dba7ff8187fad613 /epan/dissectors/packet-usb-hid.c | |
parent | 439b77d0329490987d63b69a89a596829918ac16 (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.c | 10 |
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); |