diff options
author | João Valverde <joao.valverde@tecnico.ulisboa.pt> | 2020-11-07 00:26:15 +0000 |
---|---|---|
committer | João Valverde <joao.valverde@tecnico.ulisboa.pt> | 2020-11-07 00:36:46 +0000 |
commit | b65ff23d6b369fa79454f1f13f95f0967daa412b (patch) | |
tree | aaa75e467a5ac5459e2997266635eb6986bdfcda /epan/dissectors/packet-ipv6.c | |
parent | d90f8da3d8e1ac14c3310d2a06894eae3fff512b (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.c | 10 |
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; |