Moreover: Use more the ND_ISPRINT() macro.
goto trunc;
al = EXTRACT_BE_U_2(p + pl); /* address length */
- if (pt == PT_NLPID && pl == 1 && *p == NLPID_IP && al == 4) {
+ if (pt == PT_NLPID && pl == 1 && EXTRACT_U_1(p) == NLPID_IP &&
+ al == 4) {
/*
* IPv4: protocol type = NLPID, protocol length = 1
* (1-byte NLPID), protocol = 0xcc (NLPID for IPv4),
if (length < 2)
goto trunc;
ND_TCHECK_2(p);
- if (*(p+1) == NLPID_CLNP ||
- *(p+1) == NLPID_ESIS ||
- *(p+1) == NLPID_ISIS)
+ if (EXTRACT_U_1(p + 1) == NLPID_CLNP ||
+ EXTRACT_U_1(p + 1) == NLPID_ESIS ||
+ EXTRACT_U_1(p + 1) == NLPID_ISIS)
isoclns_print(ndo, p + 1, length - 1);
else
isoclns_print(ndo, p, length);
ND_TCHECK_1(option);
- if (*option >= 32) {
+ if (EXTRACT_U_1(option) >= 32) {
ND_TCHECK_1(option + 1);
optlen = EXTRACT_U_1(option + 1);
if (optlen < 2) {
- if (*option >= 128)
+ if (EXTRACT_U_1(option) >= 128)
ND_PRINT((ndo, "CCID option %u optlen too short", EXTRACT_U_1(option)));
else
ND_PRINT((ndo, "%s optlen too short",
optlen = 1;
if (hlen < optlen) {
- if (*option >= 128)
+ if (EXTRACT_U_1(option) >= 128)
ND_PRINT((ndo, "CCID option %u optlen goes past header length",
EXTRACT_U_1(option)));
else
}
ND_TCHECK2(*option, optlen);
- if (*option >= 128) {
+ if (EXTRACT_U_1(option) >= 128) {
ND_PRINT((ndo, "CCID option %d", EXTRACT_U_1(option)));
switch (optlen) {
case 4:
ND_PRINT((ndo, " optlen too short"));
return optlen;
}
- if (*(option + 2) < 10){
+ if (EXTRACT_U_1(option + 2) < 10){
ND_PRINT((ndo, " %s", dccp_feature_nums[EXTRACT_U_1(option + 2)]));
for (i = 0; i < optlen - 3; i++)
ND_PRINT((ndo, " %d", EXTRACT_U_1(option + 3 + i)));
case MFR_CTRL_IE_BUNDLE_ID: /* same message format */
case MFR_CTRL_IE_LINK_ID:
for (idx = 0; idx < ie_len && idx < MFR_ID_STRING_MAXLEN; idx++) {
- if (*(tptr+idx) != 0) /* don't print null termination */
+ if (EXTRACT_U_1(tptr + idx) != 0) /* don't print null termination */
safeputchar(ndo, EXTRACT_U_1(tptr + idx));
else
break;
if (cp == ep) {
/* FQDN */
ND_PRINT((ndo,"."));
- } else if (cp + 1 == ep && *cp == '\0') {
+ } else if (cp + 1 == ep && EXTRACT_U_1(cp) == '\0') {
/* truncated */
} else {
/* invalid */
ND_PRINT((ndo, " [w/data]"));
if (ndo->ndo_vflag > 1) {
ND_PRINT((ndo, " "));
- ip_print(ndo, sp + *sp * 12 + 8 - 3,
- len - (*sp * 12 + 8));
+ ip_print(ndo, sp +
+ EXTRACT_U_1(sp) * 12 + 8 - 3,
+ len - (EXTRACT_U_1(sp) * 12 + 8));
}
}
break;
ND_PRINT((ndo, "ERROR: Option Length != 4 Bytes (%u)", olen));
} else {
ND_PRINT((ndo, "v%d", EXTRACT_U_1(bp)));
- if (*(bp+1) != 0) {
+ if (EXTRACT_U_1(bp + 1) != 0) {
ND_PRINT((ndo, ", interval "));
unsigned_relts_print(ndo,
EXTRACT_U_1(bp + 1));
/* TODO print UTF-8 decoded text */
ND_TCHECK2(*p, tag_len);
for (v = p; v < p + tag_len && tag_str_len < MAXTAGPRINT-1; v++)
- if (*v >= 32 && *v < 127) {
+ if (ND_ISPRINT(EXTRACT_U_1(v))) {
tag_str[tag_str_len++] = EXTRACT_U_1(v);
ascii_count++;
} else {
case TUNNEL_PASS:
if (length < 3)
goto trunc;
- if (*data && (*data <=0x1F) )
+ if (EXTRACT_U_1(data) && (EXTRACT_U_1(data) <= 0x1F))
ND_PRINT((ndo, "Tag[%u] ", EXTRACT_U_1(data)));
else
ND_PRINT((ndo, "Tag[Unused] "));
{
if (length < 1)
goto trunc;
- if (*data)
+ if (EXTRACT_U_1(data))
ND_PRINT((ndo, "Tag[%u] ", EXTRACT_U_1(data)));
else
ND_PRINT((ndo, "Tag[Unused] "));
if ( (attr_code == TUNNEL_TYPE) || (attr_code == TUNNEL_MEDIUM) )
{
- if (!*data)
+ if (!EXTRACT_U_1(data))
ND_PRINT((ndo, "Tag[Unused] "));
else
ND_PRINT((ndo, "Tag[%d] ", EXTRACT_U_1(data)));
break;
case TUNNEL_PREFERENCE:
- if (*data)
+ if (EXTRACT_U_1(data))
ND_PRINT((ndo, "Tag[%d] ", EXTRACT_U_1(data)));
else
ND_PRINT((ndo, "Tag[Unused] "));
return;
}
ND_TCHECK_1(data);
- if (*data)
+ if (EXTRACT_U_1(data))
ND_PRINT((ndo, "User can change password"));
else
ND_PRINT((ndo, "User cannot change password"));
if (len < 2)
goto tooshort;
ND_TCHECK_1(pptr + 1);
- if (*(pptr+1) != LACP_VERSION) {
+ if (EXTRACT_U_1(pptr + 1) != LACP_VERSION) {
ND_PRINT((ndo, "LACP version %u packet not supported", EXTRACT_U_1(pptr + 1)));
return;
}
if (len < 2)
goto tooshort;
ND_TCHECK_1(pptr + 1);
- if (*(pptr+1) != MARKER_VERSION) {
+ if (EXTRACT_U_1(pptr + 1) != MARKER_VERSION) {
ND_PRINT((ndo, "MARKER version %u packet not supported", EXTRACT_U_1(pptr + 1)));
return;
}
class = form >> 1; /* bits 7&6 -> bits 1&0, range 0-3 */
form &= 0x1; /* bit 5 -> bit 0, range 0-1 */
#else
- form = (u_char)(*p & ASN_FORM_BITS) >> ASN_FORM_SHIFT;
- class = (u_char)(*p & ASN_CLASS_BITS) >> ASN_CLASS_SHIFT;
+ form = (u_char)(EXTRACT_U_1(p) & ASN_FORM_BITS) >> ASN_FORM_SHIFT;
+ class = (u_char)(EXTRACT_U_1(p) & ASN_CLASS_BITS) >> ASN_CLASS_SHIFT;
#endif
elem->form = form;
elem->class = class;
ND_PRINT((ndo, "[Xtagfield?]"));
return -1;
}
- id = (id << 7) | (*p & ~ASN_BIT8);
+ id = (id << 7) | (EXTRACT_U_1(p) & ~ASN_BIT8);
len--;
hdr++;
p++;
for (; i-- > 0; p++) {
ND_TCHECK_1(p);
- o = (o << ASN_SHIFT7) + (*p & ~ASN_BIT8);
+ o = (o << ASN_SHIFT7) + (EXTRACT_U_1(p) & ~ASN_BIT8);
if (EXTRACT_U_1(p) & ASN_LONGLEN)
continue;
for (*oidlen = 0; i-- > 0; p++) {
ND_TCHECK_1(p);
- o = (o << ASN_SHIFT7) + (*p & ~ASN_BIT8);
+ o = (o << ASN_SHIFT7) + (EXTRACT_U_1(p) & ~ASN_BIT8);
if (EXTRACT_U_1(p) & ASN_LONGLEN)
continue;
*/
ND_TCHECK_1(pptr);
- if (*(pptr+msg_off) == '<') {
+ if (EXTRACT_U_1(pptr + msg_off) == '<') {
msg_off++;
ND_TCHECK_1(pptr + msg_off);
while (msg_off <= SYSLOG_MAX_DIGITS &&
EXTRACT_U_1(pptr + msg_off) >= '0' &&
EXTRACT_U_1(pptr + msg_off) <= '9') {
- pri = pri * 10 + (*(pptr+msg_off) - '0');
+ pri = pri * 10 + (EXTRACT_U_1(pptr + msg_off) - '0');
msg_off++;
ND_TCHECK_1(pptr + msg_off);
}
- if (*(pptr+msg_off) != '>') {
+ if (EXTRACT_U_1(pptr + msg_off) != '>') {
ND_PRINT((ndo, "%s", tstr));
return;
}