diff options
author | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2015-01-09 17:12:26 +0100 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2015-01-10 13:41:20 +0000 |
commit | c93d0ab880263ec9a829e763b7fc38fc555db8ad (patch) | |
tree | 8b84bc7fdddc437cd89f41df184f445cd6c2272c /epan/dissectors/packet-isis-lsp.c | |
parent | 5fe1f6617650f8fae37d53b038570fd941311f68 (diff) |
IS-IS: Incorrect decoding of IPv4 Interface/Neighbor Address sub-TLVs in Extended IS Reachability TLV
Correct 4-byte IPv4 address is incorrectly detected as wrong 6-byte IPv4 address and cannot be decoded (IPv4 Interface Address (sub-TLV type 6) and IPv4 Neighbor Address (sub-TLV type 8) of Extended IS Reachability TLV (TLV type 22) of IS-IS.
Wrong offset for some Sub-TLV
Issue found by Alexander Okonnikov
Bug: 10837
Change-Id: I81d083722da72115e1905237352650d380e9d0ac
Reviewed-on: https://code.wireshark.org/review/6453
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-isis-lsp.c')
-rw-r--r-- | epan/dissectors/packet-isis-lsp.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/epan/dissectors/packet-isis-lsp.c b/epan/dissectors/packet-isis-lsp.c index cf67ccfeb6..0437375aa0 100644 --- a/epan/dissectors/packet-isis-lsp.c +++ b/epan/dissectors/packet-isis-lsp.c @@ -2170,10 +2170,10 @@ dissect_lsp_ext_is_reachability_clv(tvbuff_t *tvb, packet_info* pinfo, proto_tre proto_tree_add_item(ntree, hf_isis_lsp_ext_is_reachability_link_remote_identifier, tvb, offset+17+i, 4, ENC_BIG_ENDIAN); break; case 6 : - proto_tree_add_item(ntree, hf_isis_lsp_ext_is_reachability_ipv4_interface_address, tvb, offset+11+i, 4, ENC_BIG_ENDIAN); + proto_tree_add_item(ntree, hf_isis_lsp_ext_is_reachability_ipv4_interface_address, tvb, offset+13+i, 4, ENC_BIG_ENDIAN); break; case 8 : - proto_tree_add_item(ntree, hf_isis_lsp_ext_is_reachability_ipv4_neighbor_address, tvb, offset+11+i, 4, ENC_BIG_ENDIAN); + proto_tree_add_item(ntree, hf_isis_lsp_ext_is_reachability_ipv4_neighbor_address, tvb, offset+13+i, 4, ENC_BIG_ENDIAN); break; case 9 : dissect_subclv_max_bw (tvb, ntree, offset+13+i); @@ -2185,7 +2185,7 @@ dissect_lsp_ext_is_reachability_clv(tvbuff_t *tvb, packet_info* pinfo, proto_tre dissect_subclv_unrsv_bw (tvb, ntree, offset+13+i); break; case 18: - proto_tree_add_item(ntree, hf_isis_lsp_ext_is_reachability_traffic_engineering_default_metric, tvb, offset+11+i, 5, ENC_BIG_ENDIAN); + proto_tree_add_item(ntree, hf_isis_lsp_ext_is_reachability_traffic_engineering_default_metric, tvb, offset+13+i, 5, ENC_BIG_ENDIAN); break; case 29: dissect_subclv_spb_link_metric(tvb, pinfo, ntree, @@ -2196,12 +2196,12 @@ dissect_lsp_ext_is_reachability_clv(tvbuff_t *tvb, packet_info* pinfo, proto_tre case 252: case 253: case 254: - proto_tree_add_text (ntree, tvb, offset+11+i, clv_len+2, + proto_tree_add_text (ntree, tvb, offset+13+i, clv_len+2, "Unknown Cisco specific extensions: code %d, length %d", clv_code, clv_len ); break; default : - proto_tree_add_text (ntree, tvb, offset+11+i, clv_len+2, + proto_tree_add_text (ntree, tvb, offset+13+i, clv_len+2, "Unknown sub-CLV: code %d, length %d", clv_code, clv_len ); break; } |