summaryrefslogtreecommitdiff
path: root/print-snmp.c
diff options
context:
space:
mode:
authorFrancois-Xavier Le Bail <devel.fx.lebail@orange.fr>2017-11-22 09:28:18 +0100
committerFrancois-Xavier Le Bail <devel.fx.lebail@orange.fr>2017-11-22 10:36:51 +0100
commitc8e0a4a1681fd3a9673cddcd7b3f93a869ac6813 (patch)
tree2430d9cf02a3acda21d7d55d83925b577c4c92b5 /print-snmp.c
parent9c9a3c52971511af27157461795f17971f5a526a (diff)
downloadtcpdump-c8e0a4a1681fd3a9673cddcd7b3f93a869ac6813.tar.gz
Use more the EXTRACT_8BITS() macro to fetch a one-byte value (20/n)
e op *p Partial list.
Diffstat (limited to 'print-snmp.c')
-rw-r--r--print-snmp.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/print-snmp.c b/print-snmp.c
index a729ea0a..8328e0a6 100644
--- a/print-snmp.c
+++ b/print-snmp.c
@@ -481,7 +481,7 @@ asn1_parse(netdissect_options *ndo,
return -1;
}
ND_TCHECK(*p);
- elem->id = id = (id << 7) | *p;
+ elem->id = id = (id << 7) | EXTRACT_8BITS(p);
--len;
++hdr;
++p;
@@ -501,8 +501,10 @@ asn1_parse(netdissect_options *ndo,
return -1;
}
ND_TCHECK2(*p, noct);
- for (; noct-- > 0; len--, hdr++)
- elem->asnlen = (elem->asnlen << ASN_SHIFT8) | *p++;
+ for (; noct-- > 0; len--, hdr++) {
+ elem->asnlen = (elem->asnlen << ASN_SHIFT8) | EXTRACT_8BITS(p);
+ p++;
+ }
}
if (len < elem->asnlen) {
ND_PRINT((ndo, "[len%d<asnlen%u]", len, elem->asnlen));
@@ -544,7 +546,7 @@ asn1_parse(netdissect_options *ndo,
if (*p & ASN_BIT8) /* negative */
data = -1;
for (i = elem->asnlen; i-- > 0; p++)
- data = (data << ASN_SHIFT8) | *p;
+ data = (data << ASN_SHIFT8) | EXTRACT_8BITS(p);
elem->data.integer = data;
break;
}
@@ -581,7 +583,7 @@ asn1_parse(netdissect_options *ndo,
elem->type = BE_UNS;
data = 0;
for (i = elem->asnlen; i-- > 0; p++)
- data = (data << 8) + *p;
+ data = (data << 8) + EXTRACT_8BITS(p);
elem->data.uns = data;
break;
}
@@ -591,7 +593,7 @@ asn1_parse(netdissect_options *ndo,
elem->type = BE_UNS64;
data64 = 0;
for (i = elem->asnlen; i-- > 0; p++)
- data64 = (data64 << 8) + *p;
+ data64 = (data64 << 8) + EXTRACT_8BITS(p);
elem->data.uns64 = data64;
break;
}