aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/dissectors/packet-usb.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/epan/dissectors/packet-usb.c b/epan/dissectors/packet-usb.c
index aedf8d0730..f122b53175 100644
--- a/epan/dissectors/packet-usb.c
+++ b/epan/dissectors/packet-usb.c
@@ -1610,14 +1610,18 @@ dissect_linux_usb(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent)
if(dissector){
offset = dissector(pinfo, tree, tvb, offset, is_request, usb_conv_info->usb_trans_info, usb_conv_info);
} else {
- proto_tree_add_text(tree, tvb, offset, -1, "CONTROL response data");
- offset += tvb_length_remaining(tvb, offset);
+ if (tvb_reported_length_remaining(tvb, offset) != 0) {
+ proto_tree_add_text(tree, tvb, offset, -1, "CONTROL response data");
+ offset += tvb_length_remaining(tvb, offset);
+ }
}
}
} else {
/* no matching request available */
- proto_tree_add_text(tree, tvb, offset, -1, "CONTROL response data");
- offset += tvb_length_remaining(tvb, offset);
+ if (tvb_reported_length_remaining(tvb, offset) != 0) {
+ proto_tree_add_text(tree, tvb, offset, -1, "CONTROL response data");
+ offset += tvb_length_remaining(tvb, offset);
+ }
}
}
}