]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-aoe.c
change make check to work with POSIX shell
[tcpdump] / print-aoe.c
index abad1548f65a04a9c428ae40d46d24bfdd8eb481..fcb75264fc1ac579afa7fb3474a4049eddd3a454 100644 (file)
@@ -1,8 +1,4 @@
 /*
- * This module implements decoding of the ATA over Ethernet (AoE) protocol
- * according to the following specification:
- * http://support.coraid.com/documents/AoEr11.txt
- *
  * Copyright (c) 2014 The TCPDUMP project
  * All rights reserved.
  *
  * POSSIBILITY OF SUCH DAMAGE.
  */
 
+/* \summary: ATA over Ethernet (AoE) protocol printer */
+
+/* specification: http://brantleycoilecompany.com/AoEr11.pdf */
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -41,7 +41,6 @@
 #include "ether.h"
 
 static const char tstr[] = " [|aoe]";
-static const char istr[] = " (invalid)";
 
 #define AOE_V1 1
 #define ATA_SECTOR_SIZE 512
@@ -326,6 +325,7 @@ aoev1_reserve_print(netdissect_options *ndo,
                goto invalid;
        /* addresses */
        for (i = 0; i < nmacs; i++) {
+               ND_TCHECK2(*cp, ETHER_ADDR_LEN);
                ND_PRINT((ndo, "\n\tEthernet Address %u: %s", i, etheraddr_string(ndo, cp)));
                cp += ETHER_ADDR_LEN;
        }
@@ -351,6 +351,7 @@ aoev1_print(netdissect_options *ndo,
        if (len < AOEV1_COMMON_HDR_LEN)
                goto invalid;
        /* Flags */
+       ND_TCHECK2(*cp, 1);
        flags = *cp & 0x0F;
        ND_PRINT((ndo, ", Flags: [%s]", bittok2str(aoev1_flag_str, "none", flags)));
        cp += 1;