In ND_PRINT() macro call(s) (step 9).
*(p)
} else {
/* Hopcount */
ND_TCHECK_1(cp);
- ND_PRINT((ndo, "\n\tHopcount %u", *cp));
+ ND_PRINT((ndo, "\n\tHopcount %u", EXTRACT_U_1(cp)));
cp += 1;
/* Original Hopcount */
ND_TCHECK_1(cp);
- ND_PRINT((ndo, ", Original Hopcount %u", *cp));
+ ND_PRINT((ndo, ", Original Hopcount %u", EXTRACT_U_1(cp)));
cp += 1;
/* Nonce */
ND_TCHECK_4(cp);
cp += 1;
/* Err/Feature */
ND_TCHECK_1(cp);
- ND_PRINT((ndo, ", Err/Feature: %u", *cp));
+ ND_PRINT((ndo, ", Err/Feature: %u", EXTRACT_U_1(cp)));
cp += 1;
/* Sector Count (not correlated with the length) */
ND_TCHECK_1(cp);
- ND_PRINT((ndo, ", Sector Count: %u", *cp));
+ ND_PRINT((ndo, ", Sector Count: %u", EXTRACT_U_1(cp)));
cp += 1;
/* Cmd/Status */
ND_TCHECK_1(cp);
- ND_PRINT((ndo, ", Cmd/Status: %u", *cp));
+ ND_PRINT((ndo, ", Cmd/Status: %u", EXTRACT_U_1(cp)));
cp += 1;
/* lba0 */
ND_TCHECK_1(cp);
- ND_PRINT((ndo, "\n\tlba0: %u", *cp));
+ ND_PRINT((ndo, "\n\tlba0: %u", EXTRACT_U_1(cp)));
cp += 1;
/* lba1 */
ND_TCHECK_1(cp);
- ND_PRINT((ndo, ", lba1: %u", *cp));
+ ND_PRINT((ndo, ", lba1: %u", EXTRACT_U_1(cp)));
cp += 1;
/* lba2 */
ND_TCHECK_1(cp);
- ND_PRINT((ndo, ", lba2: %u", *cp));
+ ND_PRINT((ndo, ", lba2: %u", EXTRACT_U_1(cp)));
cp += 1;
/* lba3 */
ND_TCHECK_1(cp);
- ND_PRINT((ndo, ", lba3: %u", *cp));
+ ND_PRINT((ndo, ", lba3: %u", EXTRACT_U_1(cp)));
cp += 1;
/* lba4 */
ND_TCHECK_1(cp);
- ND_PRINT((ndo, ", lba4: %u", *cp));
+ ND_PRINT((ndo, ", lba4: %u", EXTRACT_U_1(cp)));
cp += 1;
/* lba5 */
ND_TCHECK_1(cp);
- ND_PRINT((ndo, ", lba5: %u", *cp));
+ ND_PRINT((ndo, ", lba5: %u", EXTRACT_U_1(cp)));
cp += 1;
/* Reserved */
ND_TCHECK_2(cp);
cp += 2;
/* Sector Count */
ND_TCHECK_1(cp);
- ND_PRINT((ndo, ", Sector Count: %u", *cp));
+ ND_PRINT((ndo, ", Sector Count: %u", EXTRACT_U_1(cp)));
cp += 1;
/* AoE/CCmd */
ND_TCHECK_1(cp);
cp += 2;
/* Minor */
ND_TCHECK_1(cp);
- ND_PRINT((ndo, ", Minor: 0x%02x", *cp));
+ ND_PRINT((ndo, ", Minor: 0x%02x", EXTRACT_U_1(cp)));
cp += 1;
/* Command */
ND_TCHECK_1(cp);
bfd_auth_header->auth_type,
bfd_auth_header->auth_len));
pptr += 2;
- ND_PRINT((ndo, "\n\t Auth Key ID: %d", *pptr));
+ ND_PRINT((ndo, "\n\t Auth Key ID: %d", EXTRACT_U_1(pptr)));
switch(bfd_auth_header->auth_type) {
case AUTH_PASSWORD:
case 0x0b: /* Duplex - CDPv2 */
if (len < 1)
goto trunc;
- ND_PRINT((ndo, "%s", *(tptr) ? "full": "half"));
+ ND_PRINT((ndo, "%s", EXTRACT_U_1(tptr) ? "full": "half"));
break;
/* http://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cata/186/2_12_m/english/release/notes/186rn21m.html
case 0x12: /* AVVID trust bitmap - not documented */
if (len < 1)
goto trunc;
- ND_PRINT((ndo, "0x%02x", *(tptr)));
+ ND_PRINT((ndo, "0x%02x", EXTRACT_U_1(tptr)));
break;
case 0x13: /* AVVID untrusted port CoS - not documented */
if (len < 1)
goto trunc;
- ND_PRINT((ndo, "0x%02x", *(tptr)));
+ ND_PRINT((ndo, "0x%02x", EXTRACT_U_1(tptr)));
break;
case 0x14: /* System Name - not documented */
ND_PRINT((ndo, "'"));
case 0x17: /* Physical Location - not documented */
if (len < 1)
goto trunc;
- ND_PRINT((ndo, "0x%02x", *(tptr)));
+ ND_PRINT((ndo, "0x%02x", EXTRACT_U_1(tptr)));
if (len > 1) {
ND_PRINT((ndo, "/"));
(void)fn_printn(ndo, tptr + 1, len - 1, NULL);
ND_PRINT((ndo, ", Vendor: %s (%u), Sub-Type %u",
tok2str(oui_values,"Unknown", EXTRACT_BE_U_3(tptr)),
EXTRACT_BE_U_3(tptr),
- *(tptr + 3)));
+ EXTRACT_U_1(tptr + 3)));
hexdump = TRUE;
break;
optlen = EXTRACT_U_1(option + 1);
if (optlen < 2) {
if (*option >= 128)
- ND_PRINT((ndo, "CCID option %u optlen too short", *option));
+ ND_PRINT((ndo, "CCID option %u optlen too short", EXTRACT_U_1(option)));
else
ND_PRINT((ndo, "%s optlen too short",
tok2str(dccp_option_values, "Option %u", EXTRACT_U_1(option))));
if (hlen < optlen) {
if (*option >= 128)
ND_PRINT((ndo, "CCID option %u optlen goes past header length",
- *option));
+ EXTRACT_U_1(option)));
else
ND_PRINT((ndo, "%s optlen goes past header length",
tok2str(dccp_option_values, "Option %u", EXTRACT_U_1(option))));
ND_TCHECK2(*option, optlen);
if (*option >= 128) {
- ND_PRINT((ndo, "CCID option %d", *option));
+ ND_PRINT((ndo, "CCID option %d", EXTRACT_U_1(option)));
switch (optlen) {
case 4:
ND_PRINT((ndo, " %u", EXTRACT_BE_U_2(option + 2)));
ND_PRINT((ndo, "\\[x"));
for (bitp = cp + 1, b = bitlen; bitp < lim && b > 7; b -= 8, bitp++) {
ND_TCHECK(*bitp);
- ND_PRINT((ndo, "%02x", *bitp));
+ ND_PRINT((ndo, "%02x", EXTRACT_U_1(bitp)));
}
if (b > 4) {
ND_TCHECK(*bitp);
}
if (ndo->ndo_eflag)
- ND_PRINT((ndo, "OSI NLPID %s (0x%02x): ", tok2str(nlpid_values, "Unknown", EXTRACT_U_1(p)), *p));
+ ND_PRINT((ndo, "OSI NLPID %s (0x%02x): ", tok2str(nlpid_values, "Unknown", EXTRACT_U_1(p)), EXTRACT_U_1(p)));
switch (*p) {
default:
if (!ndo->ndo_eflag)
- ND_PRINT((ndo, "OSI NLPID 0x%02x unknown", *p));
+ ND_PRINT((ndo, "OSI NLPID 0x%02x unknown", EXTRACT_U_1(p)));
ND_PRINT((ndo, "%slength: %u", ndo->ndo_eflag ? "" : ", ", length));
if (length > 1)
print_unknown_data(ndo, p, "\n\t", length);
ND_PRINT((ndo, " (%d)", EXTRACT_U_1(cp)));
cp++;
ND_TCHECK(*cp);
- ND_PRINT((ndo, " (%d)", *cp));
+ ND_PRINT((ndo, " (%d)", EXTRACT_U_1(cp)));
break;
case AUTH_MSG_KDC_REPLY:
}
ND_PRINT((ndo, "\n\t Control - Protocol Control (type 0x%x, length %d)",
LLDP_DCBX_CONTROL_TLV, tlv_len));
- ND_PRINT((ndo, "\n\t Oper_Version: %d", *tptr));
+ ND_PRINT((ndo, "\n\t Oper_Version: %d", EXTRACT_U_1(tptr)));
ND_PRINT((ndo, "\n\t Max_Version: %d", EXTRACT_U_1(tptr + 1)));
ND_PRINT((ndo, "\n\t Sequence Number: %d", EXTRACT_BE_U_4(tptr + 2)));
ND_PRINT((ndo, "\n\t Acknowledgement Number: %d",
}
ND_PRINT((ndo, "\n\t Feature - Priority Group (type 0x%x, length %d)",
LLDP_DCBX_PRIORITY_GROUPS_TLV, tlv_len));
- ND_PRINT((ndo, "\n\t Oper_Version: %d", *tptr));
+ ND_PRINT((ndo, "\n\t Oper_Version: %d", EXTRACT_U_1(tptr)));
ND_PRINT((ndo, "\n\t Max_Version: %d", EXTRACT_U_1(tptr + 1)));
ND_PRINT((ndo, "\n\t Info block(0x%02X): ", EXTRACT_U_1(tptr + 2)));
tval = EXTRACT_U_1(tptr + 2);
ND_PRINT((ndo, "\n\t Feature - Priority Flow Control"));
ND_PRINT((ndo, " (type 0x%x, length %d)",
LLDP_DCBX_PRIORITY_FLOW_CONTROL_TLV, tlv_len));
- ND_PRINT((ndo, "\n\t Oper_Version: %d", *tptr));
+ ND_PRINT((ndo, "\n\t Oper_Version: %d", EXTRACT_U_1(tptr)));
ND_PRINT((ndo, "\n\t Max_Version: %d", EXTRACT_U_1(tptr + 1)));
ND_PRINT((ndo, "\n\t Info block(0x%02X): ", EXTRACT_U_1(tptr + 2)));
tval = EXTRACT_U_1(tptr + 2);
}
ND_PRINT((ndo, "\n\t Feature - Application (type 0x%x, length %d)",
LLDP_DCBX_APPLICATION_TLV, tlv_len));
- ND_PRINT((ndo, "\n\t Oper_Version: %d", *tptr));
+ ND_PRINT((ndo, "\n\t Oper_Version: %d", EXTRACT_U_1(tptr)));
ND_PRINT((ndo, "\n\t Max_Version: %d", EXTRACT_U_1(tptr + 1)));
ND_PRINT((ndo, "\n\t Info block(0x%02X): ", EXTRACT_U_1(tptr + 2)));
tval = EXTRACT_U_1(tptr + 2);
else
ND_PRINT((ndo, " SA-Response"));
ND_TCHECK(*sp);
- ND_PRINT((ndo, " %u entries", *sp));
+ ND_PRINT((ndo, " %u entries", EXTRACT_U_1(sp)));
if ((u_int)((*sp * 12) + 8) < len) {
ND_PRINT((ndo, " [w/data]"));
if (ndo->ndo_vflag > 1) {
goto invalid;
/* index */
ND_TCHECK_1(cp);
- ND_PRINT((ndo, ", index %u", *cp));
+ ND_PRINT((ndo, ", index %u", EXTRACT_U_1(cp)));
cp += 1;
/* pad */
ND_TCHECK_7(cp);
goto invalid;
/* index */
ND_TCHECK_1(cp);
- ND_PRINT((ndo, ", index %u", *cp));
+ ND_PRINT((ndo, ", index %u", EXTRACT_U_1(cp)));
cp += 1;
/* pad */
ND_TCHECK_3(cp);
/* nw_tos */
ND_TCHECK_1(cp);
if (! (wildcards & OFPFW_NW_TOS))
- ND_PRINT((ndo, "%smatch nw_tos 0x%02x", pfx, *cp));
+ ND_PRINT((ndo, "%smatch nw_tos 0x%02x", pfx, EXTRACT_U_1(cp)));
cp += 1;
/* nw_proto */
ND_TCHECK_1(cp);
case OFPAT_SET_NW_TOS:
/* nw_tos */
ND_TCHECK_1(cp);
- ND_PRINT((ndo, ", nw_tos 0x%02x", *cp));
+ ND_PRINT((ndo, ", nw_tos 0x%02x", EXTRACT_U_1(cp)));
cp += 1;
/* pad */
ND_TCHECK_3(cp);
cp += 4;
/* n_tables */
ND_TCHECK_1(cp);
- ND_PRINT((ndo, ", n_tables %u", *cp));
+ ND_PRINT((ndo, ", n_tables %u", EXTRACT_U_1(cp)));
cp += 1;
/* pad */
ND_TCHECK_3(cp);
}
ND_PRINT((ndo, "%s (%u)",
tok2str(lsa_opaque_grace_tlv_reason_values, "Unknown", EXTRACT_U_1(tptr)),
- *tptr));
+ EXTRACT_U_1(tptr)));
break;
case LS_OPAQUE_GRACE_TLV_INT_ADDRESS:
/* BC Model Id (1 octet) + Reserved (3 octets) */
ND_PRINT((ndo, "\n\t\tBandwidth Constraints Model ID: %s (%u)",
tok2str(diffserv_te_bc_values, "unknown", EXTRACT_U_1(tptr)),
- *tptr));
+ EXTRACT_U_1(tptr)));
if (subtlv_length % 4 != 0) {
ND_PRINT((ndo, "\n\t\tlength %u != N x 4", subtlv_length));
goto invalid;
}
ND_PRINT((ndo, ", %s (%u)",
tok2str(lsa_opaque_te_tlv_link_type_sub_tlv_values,"unknown",EXTRACT_U_1(tptr)),
- *tptr));
+ EXTRACT_U_1(tptr)));
break;
case LS_OPAQUE_TE_LINK_SUBTLV_SHARED_RISK_GROUP:
if (olen != 4) {
ND_PRINT((ndo, "ERROR: Option Length != 4 Bytes (%u)", olen));
} else {
- ND_PRINT((ndo, "v%d", *bp));
+ ND_PRINT((ndo, "v%d", EXTRACT_U_1(bp)));
if (*(bp+1) != 0) {
ND_PRINT((ndo, ", interval "));
unsigned_relts_print(ndo, *(bp+1));
/* Print hex, not fast to abuse printf but this doesn't get used much */
ND_PRINT((ndo, " [%s 0x", tok2str(pppoetag2str, "TAG-0x%x", tag_type)));
for (v=p; v<p+tag_len; v++) {
- ND_PRINT((ndo, "%02X", *v));
+ ND_PRINT((ndo, "%02X", EXTRACT_U_1(v)));
}
ND_PRINT((ndo, "]"));
}
pptp_err_code_print(netdissect_options *ndo,
const uint8_t *err_code)
{
- ND_PRINT((ndo, " ERR_CODE(%u", *err_code));
+ ND_PRINT((ndo, " ERR_CODE(%u", EXTRACT_U_1(err_code)));
if (ndo->ndo_vflag) {
ND_PRINT((ndo, ":%s", tok2str(pptp_errcode_str, "?", EXTRACT_U_1(err_code))));
}
pptp_result_code_print(netdissect_options *ndo,
const uint8_t *result_code, int ctrl_msg_type)
{
- ND_PRINT((ndo, " RESULT_CODE(%u", *result_code));
+ ND_PRINT((ndo, " RESULT_CODE(%u", EXTRACT_U_1(result_code)));
if (ndo->ndo_vflag) {
const struct tok *dict =
ctrl_msg_type == PPTP_CTRL_MSG_TYPE_SCCRP ? pptp_scrrp_str :
if (length < 3)
goto trunc;
if (*data && (*data <=0x1F) )
- ND_PRINT((ndo, "Tag[%u] ", *data));
+ ND_PRINT((ndo, "Tag[%u] ", EXTRACT_U_1(data)));
else
ND_PRINT((ndo, "Tag[Unused] "));
data++;
if (length < 1)
goto trunc;
if (*data)
- ND_PRINT((ndo, "Tag[%u] ", *data));
+ ND_PRINT((ndo, "Tag[%u] ", EXTRACT_U_1(data)));
else
ND_PRINT((ndo, "Tag[Unused] "));
data++;
goto trunc;
ND_PRINT((ndo, "%s (0x%02x) ",
tok2str(rfc4675_tagged,"Unknown tag",EXTRACT_U_1(data)),
- *data));
+ EXTRACT_U_1(data)));
data++;
length--;
break;
}
for (i=0; i < length && EXTRACT_U_1(data); i++, data++)
- ND_PRINT((ndo, "%c", (*data < 32 || *data > 126) ? '.' : *data));
+ ND_PRINT((ndo, "%c", (EXTRACT_U_1(data) < 32 || EXTRACT_U_1(data) > 126) ? '.' : EXTRACT_U_1(data)));
return;
vendor_type,
vendor_length));
for (idx = 0; idx < vendor_length ; idx++, data++)
- ND_PRINT((ndo, "%c", (*data < 32 || *data > 126) ? '.' : *data));
+ ND_PRINT((ndo, "%c", (EXTRACT_U_1(data) < 32 || EXTRACT_U_1(data) > 126) ? '.' : EXTRACT_U_1(data)));
length-=vendor_length;
}
return;
if (!*data)
ND_PRINT((ndo, "Tag[Unused] "));
else
- ND_PRINT((ndo, "Tag[%d] ", *data));
+ ND_PRINT((ndo, "Tag[%d] ", EXTRACT_U_1(data)));
data++;
data_value = EXTRACT_BE_U_3(data);
}
case TUNNEL_PREFERENCE:
if (*data)
- ND_PRINT((ndo, "Tag[%d] ", *data));
+ ND_PRINT((ndo, "Tag[%d] ", EXTRACT_U_1(data)));
else
ND_PRINT((ndo, "Tag[Unused] "));
data++;
case EGRESS_VLAN_ID:
ND_PRINT((ndo, "%s (0x%02x) ",
tok2str(rfc4675_tagged,"Unknown tag",EXTRACT_U_1(data)),
- *data));
+ EXTRACT_U_1(data)));
data++;
ND_PRINT((ndo, "%d", EXTRACT_BE_U_3(data)));
break;
ND_PRINT((ndo, "User cannot change password"));
data++;
ND_TCHECK_1(data);
- ND_PRINT((ndo, ", Min password length: %d", *data));
+ ND_PRINT((ndo, ", Min password length: %d", EXTRACT_U_1(data)));
data++;
ND_PRINT((ndo, ", created at: "));
ND_TCHECK_4(data);
u_int i = 0;
ND_PRINT((ndo, "\n\t Simple Text Authentication data: "));
for (; i < RIP_AUTHLEN; p++, i++)
- ND_PRINT((ndo, "%c", ND_ISPRINT(*p) ? *p : '.'));
+ ND_PRINT((ndo, "%c",
+ ND_ISPRINT(*p) ? EXTRACT_U_1(p) : '.'));
} else if (auth_type == 3) {
ND_PRINT((ndo, "\n\t Auth header:"));
ND_PRINT((ndo, " Packet Len %u,", EXTRACT_BE_U_2((const uint8_t *)ni + 4)));
* version 0, there is no way to know exactly how to skip the
* current PDU.
*/
- ND_PRINT((ndo, "%sRPKI-RTRv%u (unknown)", indent_string(8), *tptr));
+ ND_PRINT((ndo, "%sRPKI-RTRv%u (unknown)", indent_string(8), EXTRACT_U_1(tptr)));
return len;
}
if (len < sizeof(rpki_rtr_pdu)) {
ND_TCHECK2(*p, asnlen);
for (i = asnlen; i-- > 0; p++)
- ND_PRINT((ndo, "_%.2x", *p));
+ ND_PRINT((ndo, "_%.2x", EXTRACT_U_1(p)));
return 0;
trunc:
ND_PRINT((ndo, "\""));
} else {
for (i = asnlen; i-- > 0; p++) {
- ND_PRINT((ndo, first ? "%.2x" : "_%.2x", *p));
+ ND_PRINT((ndo, first ? "%.2x" : "_%.2x", EXTRACT_U_1(p)));
first = 0;
}
}
p = (const u_char *)elem->data.raw;
ND_TCHECK2(*p, asnlen);
for (i = asnlen; i-- != 0; p++) {
- ND_PRINT((ndo, (i == asnlen-1) ? "%u" : ".%u", *p));
+ ND_PRINT((ndo, (i == asnlen-1) ? "%u" : ".%u", EXTRACT_U_1(p)));
}
break;
case TCPOPT_WSCALE:
datalen = 1;
LENCHECK(datalen);
- ND_PRINT((ndo, " %u", *cp));
+ ND_PRINT((ndo, " %u", EXTRACT_U_1(cp)));
break;
case TCPOPT_SACK:
case UDLD_TIMEOUT_INTERVAL_TLV:
if (len != 1)
goto invalid;
- ND_PRINT((ndo, ", %us", (*tptr)));
+ ND_PRINT((ndo, ", %us", (EXTRACT_U_1(tptr))));
break;
case UDLD_SEQ_NUMBER_TLV:
type = EXTRACT_U_1(tptr + 1);
ND_PRINT((ndo, "VTPv%u, Message %s (0x%02x), length %u",
- *tptr,
+ EXTRACT_U_1(tptr),
tok2str(vtp_message_type_values,"Unknown message type", type),
type,
length));
ND_TCHECK(*buf);
if (*buf != 4 && *buf != 2) {
- ND_PRINT((ndo, "Error! ASCIIZ buffer of type %u", *buf));
+ ND_PRINT((ndo, "Error! ASCIIZ buffer of type %u", EXTRACT_U_1(buf)));
return maxbuf; /* give up */
}
len = 0;