aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ipv6.c
diff options
context:
space:
mode:
authorJoão Valverde <joao.valverde@tecnico.ulisboa.pt>2020-11-07 00:26:15 +0000
committerJoão Valverde <joao.valverde@tecnico.ulisboa.pt>2020-11-07 00:36:46 +0000
commitb65ff23d6b369fa79454f1f13f95f0967daa412b (patch)
treeaaa75e467a5ac5459e2997266635eb6986bdfcda /epan/dissectors/packet-ipv6.c
parentd90f8da3d8e1ac14c3310d2a06894eae3fff512b (diff)
IPv6: Try to fix CID 1468890
Without a default swich case Coverity flags a possible divide by zero error. While at it remove unneeded initializers because it is a symptom of the same issue.
Diffstat (limited to 'epan/dissectors/packet-ipv6.c')
-rw-r--r--epan/dissectors/packet-ipv6.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/epan/dissectors/packet-ipv6.c b/epan/dissectors/packet-ipv6.c
index e959639463..9f1594c12b 100644
--- a/epan/dissectors/packet-ipv6.c
+++ b/epan/dissectors/packet-ipv6.c
@@ -1127,10 +1127,10 @@ static int dissect_routing6_crh(tvbuff_t* tvb, packet_info* pinfo, proto_tree* t
int offset, minimum_crh_length;
gint sid;
- unsigned sid_count = 0;
- unsigned octets_per_sid = 0;
- unsigned sids_beyond_first_word = 0;
- unsigned sids_per_word = 0;
+ unsigned sid_count;
+ unsigned octets_per_sid;
+ unsigned sids_beyond_first_word;
+ unsigned sids_per_word;
struct ws_rthdr* rt = (struct ws_rthdr*)data;
gboolean is_crh16 = rt->hdr.ip6r_type == IPv6_RT_HEADER_COMPACT_16;
guint8 segments_left = rt->hdr.ip6r_segleft;
@@ -1155,6 +1155,8 @@ static int dissect_routing6_crh(tvbuff_t* tvb, packet_info* pinfo, proto_tree* t
minimum_crh_length = 0;
sids_beyond_first_word = segments_left - 1;
break;
+ default:
+ DISSECTOR_ASSERT_NOT_REACHED();
}
if (minimum_crh_length) {
minimum_crh_length = sids_beyond_first_word / sids_per_word;