summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2018-05-14 01:52:54 -0700
committerGuy Harris <guy@alum.mit.edu>2018-05-14 01:52:54 -0700
commitdb3f9f277f4283318a760791dac2bed9507b4793 (patch)
treeb2e2f9de6a1d6a2abfed6c6f254ca60a738aeadd
parent6daf3a543ec058d04e78018d0639b0a7c7494bfa (diff)
downloadtcpdump-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.c8
-rw-r--r--addrtoname.h8
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 *);