X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/56e6581c34ceec5469b9f37c19b31a36b0256f3c..cda9bf8c5f842fc7110fbbf2234bcc898f78c0bd:/print-pktap.c diff --git a/print-pktap.c b/print-pktap.c index b4a36905..af3b3973 100644 --- a/print-pktap.c +++ b/print-pktap.c @@ -76,8 +76,8 @@ pktap_header_print(netdissect_options *ndo, const u_char *bp, u_int length) hdr = (const pktap_header_t *)bp; - dlt = EXTRACT_LE_U_4(hdr->pkt_dlt); - hdrlen = EXTRACT_LE_U_4(hdr->pkt_len); + dlt = GET_LE_U_4(hdr->pkt_dlt); + hdrlen = GET_LE_U_4(hdr->pkt_len); dltname = pcap_datalink_val_to_name(dlt); if (!ndo->ndo_qflag) { ND_PRINT("DLT %s (%u) len %u", @@ -107,13 +107,13 @@ pktap_if_print(netdissect_options *ndo, struct pcap_pkthdr nhdr; ndo->ndo_protocol = "pktap_if"; - if (caplen < sizeof(pktap_header_t) || length < sizeof(pktap_header_t)) { - ND_PRINT("[|pktap]"); - return (0); + if (caplen < sizeof(pktap_header_t)) { + nd_print_trunc(ndo); + return (caplen); } hdr = (const pktap_header_t *)p; - dlt = EXTRACT_LE_U_4(hdr->pkt_dlt); - hdrlen = EXTRACT_LE_U_4(hdr->pkt_len); + dlt = GET_LE_U_4(hdr->pkt_dlt); + hdrlen = GET_LE_U_4(hdr->pkt_len); if (hdrlen < sizeof(pktap_header_t)) { /* * Claimed header length < structure length. @@ -122,12 +122,12 @@ pktap_if_print(netdissect_options *ndo, * is the length supplied so that the header can * be expanded in the future)? */ - ND_PRINT("[|pktap]"); - return (0); + nd_print_trunc(ndo); + return (caplen); } - if (caplen < hdrlen || length < hdrlen) { - ND_PRINT("[|pktap]"); - return (hdrlen); + if (caplen < hdrlen) { + nd_print_trunc(ndo); + return (caplen); } if (ndo->ndo_eflag) @@ -137,7 +137,7 @@ pktap_if_print(netdissect_options *ndo, caplen -= hdrlen; p += hdrlen; - rectype = EXTRACT_LE_U_4(hdr->pkt_rectype); + rectype = GET_LE_U_4(hdr->pkt_rectype); switch (rectype) { case PKT_REC_NONE: