aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-mbim.c3
-rw-r--r--epan/dissectors/packet-usb-com.c4
2 files changed, 6 insertions, 1 deletions
diff --git a/epan/dissectors/packet-mbim.c b/epan/dissectors/packet-mbim.c
index bc9fb6e2c2..be1aad207f 100644
--- a/epan/dissectors/packet-mbim.c
+++ b/epan/dissectors/packet-mbim.c
@@ -3660,6 +3660,7 @@ dissect_mbim_control(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *
if ((usb_trans_info->setup.request == 0x00) && (USB_HEADER_IS_LINUX(usb_trans_info->header_type))) {
/* Skip Send Encapsulated Command header */
offset += 7;
+ tree = proto_tree_get_parent_tree(tree);
}
}
@@ -4943,7 +4944,7 @@ dissect_mbim_decode_as(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void
usb_conv_info_t *usb_conv_info;
usb_trans_info_t *usb_trans_info;
- if (!data) {
+ if (!data || (tvb_reported_length(tvb) == 0)) {
return 0;
}
diff --git a/epan/dissectors/packet-usb-com.c b/epan/dissectors/packet-usb-com.c
index 15dc7c0d1b..e41e1dc7a7 100644
--- a/epan/dissectors/packet-usb-com.c
+++ b/epan/dissectors/packet-usb-com.c
@@ -463,6 +463,10 @@ dissect_usb_com_control(tvbuff_t *tvb, packet_info *pinfo, proto_tree *setup_tre
gint offset = 0;
gboolean is_request;
+ if (tvb_reported_length(tvb) == 0) {
+ return 0;
+ }
+
col_set_str(pinfo->cinfo, COL_PROTOCOL, "USBCOM");
tree = proto_tree_get_parent_tree(setup_tree);