diff options
author | Francois-Xavier Le Bail <devel.fx.lebail@orange.fr> | 2017-11-22 09:28:18 +0100 |
---|---|---|
committer | Francois-Xavier Le Bail <devel.fx.lebail@orange.fr> | 2017-11-22 10:36:51 +0100 |
commit | c8e0a4a1681fd3a9673cddcd7b3f93a869ac6813 (patch) | |
tree | 2430d9cf02a3acda21d7d55d83925b577c4c92b5 /print-snmp.c | |
parent | 9c9a3c52971511af27157461795f17971f5a526a (diff) | |
download | tcpdump-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.c | 14 |
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; } |