diff options
author | Guy Harris <guy@alum.mit.edu> | 2018-05-14 01:52:54 -0700 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2018-05-14 01:52:54 -0700 |
commit | db3f9f277f4283318a760791dac2bed9507b4793 (patch) | |
tree | b2e2f9de6a1d6a2abfed6c6f254ca60a738aeadd | |
parent | 6daf3a543ec058d04e78018d0639b0a7c7494bfa (diff) | |
download | tcpdump-db3f9f277f4283318a760791dac2bed9507b4793.tar.gz |
Make the hex-dumping routines for addresses take a uint8_t * argument.
Hopefully, that will convince Coverity that the result of dereferencing
those pointers will have a value between 0x00 and 0xff, and therefore
that shifting that result right by 4 bits will yield a value between 0x0
and 0xf, and therefore that this result can safely be used as an index
into the 16-element hex[] array.
I guess Coverity wants us to realize that there really *are* C
implementations out there with non-8-bit char and unsigned char values,
even though getting tcpdump to work on them will probably be a highly
entertaining exercise (not to mention that the only one I know of that's
actually being *used* are the Unisys Clearpath Dorado series, and
they're one's complement, which is yet *another* place where the port
could be entertaining...).
-rw-r--r-- | addrtoname.c | 8 | ||||
-rw-r--r-- | addrtoname.h | 8 |
2 files changed, 8 insertions, 8 deletions
diff --git a/addrtoname.c b/addrtoname.c index 808ea57b..011d3d71 100644 --- a/addrtoname.c +++ b/addrtoname.c @@ -563,7 +563,7 @@ lookup_protoid(netdissect_options *ndo, const u_char *pi) } const char * -etheraddr_string(netdissect_options *ndo, const u_char *ep) +etheraddr_string(netdissect_options *ndo, const uint8_t *ep) { int i; char *cp; @@ -610,7 +610,7 @@ etheraddr_string(netdissect_options *ndo, const u_char *ep) } const char * -le64addr_string(netdissect_options *ndo, const u_char *ep) +le64addr_string(netdissect_options *ndo, const uint8_t *ep) { const unsigned int len = 8; u_int i; @@ -641,7 +641,7 @@ le64addr_string(netdissect_options *ndo, const u_char *ep) } const char * -linkaddr_string(netdissect_options *ndo, const u_char *ep, +linkaddr_string(netdissect_options *ndo, const uint8_t *ep, const unsigned int type, const unsigned int len) { u_int i; @@ -678,7 +678,7 @@ linkaddr_string(netdissect_options *ndo, const u_char *ep, #define ISONSAP_MAX_LENGTH 20 const char * -isonsap_string(netdissect_options *ndo, const u_char *nsap, +isonsap_string(netdissect_options *ndo, const uint8_t *nsap, u_int nsap_length) { u_int nsap_idx; diff --git a/addrtoname.h b/addrtoname.h index a127b4e8..97b72000 100644 --- a/addrtoname.h +++ b/addrtoname.h @@ -39,12 +39,12 @@ enum { #define BUFSIZE 128 -extern const char *linkaddr_string(netdissect_options *, const u_char *, const unsigned int, const unsigned int); -extern const char *etheraddr_string(netdissect_options *, const u_char *); -extern const char *le64addr_string(netdissect_options *, const u_char *); +extern const char *linkaddr_string(netdissect_options *, const uint8_t *, const unsigned int, const unsigned int); +extern const char *etheraddr_string(netdissect_options *, const uint8_t *); +extern const char *le64addr_string(netdissect_options *, const uint8_t *); extern const char *tcpport_string(netdissect_options *, u_short); extern const char *udpport_string(netdissect_options *, u_short); -extern const char *isonsap_string(netdissect_options *, const u_char *, u_int); +extern const char *isonsap_string(netdissect_options *, const uint8_t *, u_int); extern const char *dnaddr_string(netdissect_options *, u_short); extern const char *ipxsap_string(netdissect_options *, u_short); extern const char *ipaddr_string(netdissect_options *, const u_char *); |