X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/7885cfa165458a05ef818c34ee03affc79f03725..ed2df84be4d4b16bd595bacc23c6df208ff84401:/print-ether.c diff --git a/print-ether.c b/print-ether.c index c7ee8687..4dd253ac 100644 --- a/print-ether.c +++ b/print-ether.c @@ -211,10 +211,13 @@ recurse: */ int ret = macsec_print(ndo, &p, &length, &caplen, &hdrlen, &length_type); - if (ret == 0) - goto raw; - else if (ret > 0) - return ret; + if (ret == 0) { + /* Payload is encrypted; just quit. */ + return (hdrlen + caplen); + } else if (ret > 0) { + /* Problem printing the header; just quit. */ + return (ret); + } } /* @@ -358,7 +361,6 @@ recurse: ND_PRINT(", "); } if (ethertype_print(ndo, length_type, p, length, caplen, &src, &dst) == 0) { -raw: /* type not known, print raw packet */ if (!ndo->ndo_eflag) { /*