X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/b0385536d7d62f061e2080ea873dea90f8cf8bc6..c23f7b7dcf9c014cf531d75c22cc254c7ca35e55:/print-ah.c diff --git a/print-ah.c b/print-ah.c index be1e67ce..6450295b 100644 --- a/print-ah.c +++ b/print-ah.c @@ -23,7 +23,7 @@ #ifndef lint static const char rcsid[] = - "@(#) $Header: /tcpdump/master/tcpdump/print-ah.c,v 1.13 2000-10-06 11:32:18 itojun Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-ah.c,v 1.15 2001-09-17 21:57:54 fenner Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -52,19 +52,18 @@ ah_print(register const u_char *bp, register const u_char *bp2) int sumlen; u_int32_t spi; - ah = (struct ah *)bp; + ah = (const struct ah *)bp; ep = snapend; /* 'ep' points to the end of available data. */ - if ((u_char *)(ah + 1) >= ep - sizeof(struct ah)) - goto trunc; + TCHECK(*ah); sumlen = ah->ah_len << 2; spi = (u_int32_t)ntohl(ah->ah_spi); - printf("AH(spi=%u", spi); + printf("AH(spi=0x%08x", spi); if (vflag) printf(",sumlen=%d", sumlen); - printf(",seq=0x%x", (u_int32_t)ntohl(*(u_int32_t *)(ah + 1))); + printf(",seq=0x%x", (u_int32_t)ntohl(*(const u_int32_t *)(ah + 1))); if (bp + sizeof(struct ah) + sumlen > ep) fputs("[truncated]", stdout); fputs("): ", stdout);