if (ethertype_print(ndo, extracted_ethertype,
p+addr_len+ETHERTYPE_LEN,
length-addr_len-ETHERTYPE_LEN,
- length-addr_len-ETHERTYPE_LEN) == 0)
+ ndo->ndo_snapend-p-addr_len-ETHERTYPE_LEN,
+ NULL, NULL) == 0)
/* ether_type not known, probably it wasn't one */
ND_PRINT((ndo, "UI %02x! ", p[addr_len]));
else
case NLPID_CLNP:
case NLPID_ESIS:
case NLPID_ISIS:
- isoclns_print(ndo, p - 1, length + 1, length + 1); /* OSI printers need the NLPID field */
+ isoclns_print(ndo, p - 1, length + 1, ndo->ndo_snapend - p + 1); /* OSI printers need the NLPID field */
break;
case NLPID_SNAP:
- if (snap_print(ndo, p, length, length, NULL, NULL, 0) == 0) {
+ if (snap_print(ndo, p, length, ndo->ndo_snapend - p, NULL, NULL, 0) == 0) {
/* ether_type not known, print raw packet */
if (!ndo->ndo_eflag)
fr_hdr_print(ndo, length + hdr_len, hdr_len,
* model is end-to-end or interface based wether we want to print
* another Q.922 header
*/
- return;
+ return;
trunc:
- ND_PRINT((ndo, "[|frf.15]"));
+ ND_PRINT((ndo, "[|frf.15]"));
}
/*
ND_PRINT((ndo, "%s, codeset %u", is_ansi ? "ANSI" : "CCITT", codeset));
if (call_ref_length != 0) {
+ ND_TCHECK(p[0]);
if (call_ref_length > 1 || p[0] != 0) {
/*
* Not a dummy call reference.
ND_PRINT((ndo, ", "));
}
if (ielength < 2) {
- ND_PRINT((ndo, "Invalid VERIFY IE"));
+ ND_PRINT((ndo, "Invalid LINK VERIFY IE"));
return 1;
}
ND_PRINT((ndo, "TX Seq: %3d, RX Seq: %3d", p[0], p[1]));
!(p[3] & 0x80))) ||
(ielength > 5) ||
!(p[ielength - 1] & 0x80)) {
- ND_PRINT((ndo, "Invalid DLCI IE"));
+ ND_PRINT((ndo, "Invalid DLCI in PVC STATUS IE"));
return 1;
}