From Yi Zhang:
authoretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>
Fri, 13 Jan 2012 06:34:07 +0000 (06:34 +0000)
committeretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>
Fri, 13 Jan 2012 06:34:07 +0000 (06:34 +0000)
DSG_DA_TO_DSID_ASSOCIATION_DA/DSID is not correctly parsed in DOCSIS MDD packet.

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6725

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@40450 f5534014-38df-0310-8fa8-9805f1628bb7

plugins/docsis/packet-mdd.c

index 69917fa1ed354fc91f9657973b67cb65330ccfe5..868f8dcb23e5b42550a9f3d9aa5362bddedcb991 100644 (file)
@@ -507,10 +507,10 @@ dissect_mdd (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
                                                sublength = tvb_get_guint8 (tvb, subpos + 1);
                                                switch(subtype) {
                                                        case DSG_DA_TO_DSID_ASSOCIATION_DA:
                                                sublength = tvb_get_guint8 (tvb, subpos + 1);
                                                switch(subtype) {
                                                        case DSG_DA_TO_DSID_ASSOCIATION_DA:
-                                                               proto_tree_add_item (tlv_tree, hf_docsis_mdd_dsg_da_to_dsid_association_da, tvb, subpos, 6, ENC_BIG_ENDIAN);
+                                                               proto_tree_add_item (tlv_tree, hf_docsis_mdd_dsg_da_to_dsid_association_da, tvb, subpos + 2, 6, ENC_BIG_ENDIAN);
                                                                break;
                                                        case DSG_DA_TO_DSID_ASSOCIATION_DSID:
                                                                break;
                                                        case DSG_DA_TO_DSID_ASSOCIATION_DSID:
-                                                               proto_tree_add_item (tlv_tree, hf_docsis_mdd_dsg_da_to_dsid_association_dsid, tvb, subpos, 3, ENC_BIG_ENDIAN);
+                                                               proto_tree_add_item (tlv_tree, hf_docsis_mdd_dsg_da_to_dsid_association_dsid, tvb, subpos + 2, 3, ENC_BIG_ENDIAN);
                                                                break;
                                                }
                                                subpos += sublength + 2;
                                                                break;
                                                }
                                                subpos += sublength + 2;
@@ -706,7 +706,7 @@ void proto_register_docsis_mdd (void)
                },
                {&hf_docsis_mdd_dsg_da_to_dsid_association_da,
                {"Destination Address", "docsis_mdd.dsg_da_to_dsid_association_da",
                },
                {&hf_docsis_mdd_dsg_da_to_dsid_association_da,
                {"Destination Address", "docsis_mdd.dsg_da_to_dsid_association_da",
-               FT_UINT8, BASE_HEX, NULL, 0x0,
+               FT_ETHER, BASE_NONE, NULL, 0x0,
                "Mdd DSG DA to DSID association Destination Address", HFILL}
                },
                {&hf_docsis_mdd_dsg_da_to_dsid_association_dsid,
                "Mdd DSG DA to DSID association Destination Address", HFILL}
                },
                {&hf_docsis_mdd_dsg_da_to_dsid_association_dsid,