]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-ospf.c
Make 1-element arrays for fields that may repeat.
[tcpdump] / print-ospf.c
index 9b8d7dd664f5756f40af3219cf75f340ac62e168..921bed0cde7f8971e3615268a9d41594cacbce52 100644 (file)
@@ -709,7 +709,7 @@ ospf_print_lsa(netdissect_options *ndo,
                while (lp < ls_end) {
                        uint32_t ul;
 
-                       ND_TCHECK(*lp);
+                       ND_TCHECK_4(lp);
                        ul = EXTRACT_BE_U_4(lp);
                         topology = (ul & SLA_MASK_TOS) >> SLA_SHIFT_TOS;
                        ND_PRINT((ndo, "\n\t\ttopology %s (%u) metric %d",
@@ -726,7 +726,7 @@ ospf_print_lsa(netdissect_options *ndo,
                while (lp < ls_end) {
                        uint32_t ul;
 
-                       ND_TCHECK(*lp);
+                       ND_TCHECK_4(lp);
                        ul = EXTRACT_BE_U_4(lp);
                         topology = (ul & SLA_MASK_TOS) >> SLA_SHIFT_TOS;
                        ND_PRINT((ndo, "\n\t\ttopology %s (%u) metric %d",
@@ -804,7 +804,7 @@ ospf_print_lsa(netdissect_options *ndo,
 
            switch (EXTRACT_U_1(lsap->ls_hdr.un_lsa_id.opaque_field.opaque_type)) {
             case LS_OPAQUE_TYPE_RI:
-               tptr = (const uint8_t *)(&lsap->lsa_un.un_ri_tlv.type);
+               tptr = (const uint8_t *)(lsap->lsa_un.un_ri_tlv);
 
                while (ls_length != 0) {
                     ND_TCHECK_4(tptr);
@@ -852,14 +852,14 @@ ospf_print_lsa(netdissect_options *ndo,
                 break;
 
             case LS_OPAQUE_TYPE_GRACE:
-                if (ospf_print_grace_lsa(ndo, (const uint8_t *)(&lsap->lsa_un.un_grace_tlv.type),
+                if (ospf_print_grace_lsa(ndo, (const uint8_t *)(lsap->lsa_un.un_grace_tlv),
                                          ls_length) == -1) {
                     return(ls_end);
                 }
                 break;
 
            case LS_OPAQUE_TYPE_TE:
-                if (ospf_print_te_lsa(ndo, (const uint8_t *)(&lsap->lsa_un.un_te_lsa_tlv.type),
+                if (ospf_print_te_lsa(ndo, (const uint8_t *)(lsap->lsa_un.un_te_lsa_tlv),
                                       ls_length) == -1) {
                     return(ls_end);
                 }