From 94e97e45cf614c7bb8fe90c23df52910246b2c95 Mon Sep 17 00:00:00 2001 From: Michael Mann Date: Sat, 2 Jul 2016 08:23:34 -0400 Subject: [PATCH] packetbb: Prevent divide by 0. Bug: 12577 Change-Id: Ibfa605597b786d8dbf1e256ef2ca6dc691498974 Reviewed-on: https://code.wireshark.org/review/16241 Petri-Dish: Michael Mann Tested-by: Petri Dish Buildbot Reviewed-by: Michael Mann --- epan/dissectors/packet-packetbb.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/epan/dissectors/packet-packetbb.c b/epan/dissectors/packet-packetbb.c index f92fbc6522..a7e9978990 100644 --- a/epan/dissectors/packet-packetbb.c +++ b/epan/dissectors/packet-packetbb.c @@ -346,12 +346,14 @@ static int dissect_pbb_tlvblock(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t } else { int i; - guint8 c = indexEnd - indexStart + 1; - tlvValue_tree = proto_item_add_subtree(tlvValue_item, ett_packetbb_tlv_value); + guint c = indexEnd - indexStart + 1; + if (c > 0) { + tlvValue_tree = proto_item_add_subtree(tlvValue_item, ett_packetbb_tlv_value); - for (i=indexStart; i<=indexEnd; i++) { - proto_tree_add_item(tlvValue_tree, hf_packetbb_tlv_multivalue, tvb, offset, length/c, ENC_NA); - offset += (length/c); + for (i=indexStart; i<=indexEnd; i++) { + proto_tree_add_item(tlvValue_tree, hf_packetbb_tlv_multivalue, tvb, offset, length/c, ENC_NA); + offset += (length/c); + } } } }