]> The Tcpdump Group git mirrors - tcpdump/commitdiff
IEEE slow: Modernize packet parsing style.
authorDenis Ovsienko <[email protected]>
Tue, 1 Dec 2020 20:10:41 +0000 (20:10 +0000)
committerDenis Ovsienko <[email protected]>
Tue, 1 Dec 2020 20:10:41 +0000 (20:10 +0000)
Enable ND_LONGJMP_FROM_TCHECK and remove a few redundant ND_TCHECK*()
instances.

print-slow.c

index 467a1d6f4cd730d5d480749b4a087bf20d596c7a..118381808fdad8c8fef075c540341a8d9d65dbcd 100644 (file)
@@ -26,6 +26,7 @@
 
 #include "netdissect-stdinc.h"
 
+#define ND_LONGJMP_FROM_TCHECK
 #include "netdissect.h"
 #include "extract.h"
 #include "addrtoname.h"
@@ -359,7 +360,6 @@ slow_marker_lacp_print(netdissect_options *ndo,
         if (tlen < sizeof(struct tlv_header_t))
             goto tooshort;
         /* did we capture enough for fully decoding the tlv header ? */
-        ND_TCHECK_LEN(tptr, sizeof(struct tlv_header_t));
         tlv_header = (const struct tlv_header_t *)tptr;
         tlv_type = GET_U_1(tlv_header->type);
         tlv_len = GET_U_1(tlv_header->length);
@@ -474,10 +474,6 @@ slow_marker_lacp_print(netdissect_options *ndo,
 
 tooshort:
     ND_PRINT("\n\t\t packet is too short");
-    return;
-
-trunc:
-    nd_print_trunc(ndo);
 }
 
 static void
@@ -630,7 +626,6 @@ slow_oam_print(netdissect_options *ndo,
             ptr.slow_oam_tlv_header = (const struct slow_oam_tlv_header_t *)tptr;
             if (tlen < sizeof(*ptr.slow_oam_tlv_header))
                 goto tooshort;
-            ND_TCHECK_SIZE(ptr.slow_oam_tlv_header);
             type = GET_U_1(ptr.slow_oam_tlv_header->type);
             length = GET_U_1(ptr.slow_oam_tlv_header->length);
             ND_PRINT("\n\t  %s Link Event Type (%u), length %u",
@@ -712,7 +707,6 @@ slow_oam_print(netdissect_options *ndo,
         tlv.slow_oam_loopbackctrl = (const struct slow_oam_loopbackctrl_t *)tptr;
         if (tlen < sizeof(*tlv.slow_oam_loopbackctrl))
             goto tooshort;
-        ND_TCHECK_SIZE(tlv.slow_oam_loopbackctrl);
         command = GET_U_1(tlv.slow_oam_loopbackctrl->command);
         ND_PRINT("\n\t  Command %s (%u)",
                tok2str(slow_oam_loopbackctrl_cmd_values,
@@ -740,8 +734,4 @@ slow_oam_print(netdissect_options *ndo,
 
 tooshort:
     ND_PRINT("\n\t\t packet is too short");
-    return;
-
-trunc:
-    nd_print_trunc(ndo);
 }