From 4ce8f49e22ceb7ad973a21963884a8c3dc64c662 Mon Sep 17 00:00:00 2001 From: JP Aumasson Date: Sat, 20 Feb 2021 20:50:05 +0100 Subject: typechange --- siphash.c | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) (limited to 'siphash.c') diff --git a/siphash.c b/siphash.c index 065a593..f803744 100644 --- a/siphash.c +++ b/siphash.c @@ -76,19 +76,22 @@ #define TRACE #endif -int siphash(const uint8_t *in, const size_t inlen, const uint8_t *k, - uint8_t *out, const size_t outlen) { +int siphash(const void *in, const size_t inlen, const void *k, uint8_t *out, + const size_t outlen) { + + unsigned char *ni = (unsigned char *)in; + unsigned char *kk = (unsigned char *)k; assert((outlen == 8) || (outlen == 16)); uint64_t v0 = UINT64_C(0x736f6d6570736575); uint64_t v1 = UINT64_C(0x646f72616e646f6d); uint64_t v2 = UINT64_C(0x6c7967656e657261); uint64_t v3 = UINT64_C(0x7465646279746573); - uint64_t k0 = U8TO64_LE(k); - uint64_t k1 = U8TO64_LE(k + 8); + uint64_t k0 = U8TO64_LE(kk); + uint64_t k1 = U8TO64_LE(kk + 8); uint64_t m; int i; - const uint8_t *end = in + inlen - (inlen % sizeof(uint64_t)); + const uint8_t *end = ni + inlen - (inlen % sizeof(uint64_t)); const int left = inlen & 7; uint64_t b = ((uint64_t)inlen) << 56; v3 ^= k1; @@ -99,8 +102,8 @@ int siphash(const uint8_t *in, const size_t inlen, const uint8_t *k, if (outlen == 16) v1 ^= 0xee; - for (; in != end; in += 8) { - m = U8TO64_LE(in); + for (; ni != end; ni += 8) { + m = U8TO64_LE(ni); v3 ^= m; TRACE; @@ -112,19 +115,19 @@ int siphash(const uint8_t *in, const size_t inlen, const uint8_t *k, switch (left) { case 7: - b |= ((uint64_t)in[6]) << 48; + b |= ((uint64_t)ni[6]) << 48; case 6: - b |= ((uint64_t)in[5]) << 40; + b |= ((uint64_t)ni[5]) << 40; case 5: - b |= ((uint64_t)in[4]) << 32; + b |= ((uint64_t)ni[4]) << 32; case 4: - b |= ((uint64_t)in[3]) << 24; + b |= ((uint64_t)ni[3]) << 24; case 3: - b |= ((uint64_t)in[2]) << 16; + b |= ((uint64_t)ni[2]) << 16; case 2: - b |= ((uint64_t)in[1]) << 8; + b |= ((uint64_t)ni[1]) << 8; case 1: - b |= ((uint64_t)in[0]); + b |= ((uint64_t)ni[0]); break; case 0: break; -- cgit v1.2.3 From b306d5ff03cd10b7fc225fe327e227220be7eb02 Mon Sep 17 00:00:00 2001 From: JP Aumasson Date: Fri, 12 Mar 2021 08:29:25 +0100 Subject: consts --- halfsiphash.c | 6 +++--- siphash.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'siphash.c') diff --git a/halfsiphash.c b/halfsiphash.c index 01cbdf1..652f3cc 100644 --- a/halfsiphash.c +++ b/halfsiphash.c @@ -72,8 +72,8 @@ int halfsiphash(const void *in, const size_t inlen, const void *k, uint8_t *out, const size_t outlen) { - unsigned char *ni = (unsigned char *)in; - unsigned char *kk = (unsigned char *)k; + const unsigned char *ni = (const unsigned char *)in; + const unsigned char *kk = (const unsigned char *)k; assert((outlen == 4) || (outlen == 8)); uint32_t v0 = 0; @@ -84,7 +84,7 @@ int halfsiphash(const void *in, const size_t inlen, const void *k, uint8_t *out, uint32_t k1 = U8TO32_LE(kk + 4); uint32_t m; int i; - const uint8_t *end = ni + inlen - (inlen % sizeof(uint32_t)); + const unsigned char *end = ni + inlen - (inlen % sizeof(uint32_t)); const int left = inlen & 3; uint32_t b = ((uint32_t)inlen) << 24; v3 ^= k1; diff --git a/siphash.c b/siphash.c index f803744..f724058 100644 --- a/siphash.c +++ b/siphash.c @@ -79,8 +79,8 @@ int siphash(const void *in, const size_t inlen, const void *k, uint8_t *out, const size_t outlen) { - unsigned char *ni = (unsigned char *)in; - unsigned char *kk = (unsigned char *)k; + const unsigned char *ni = (const unsigned char *)in; + const unsigned char *kk = (const unsigned char *)k; assert((outlen == 8) || (outlen == 16)); uint64_t v0 = UINT64_C(0x736f6d6570736575); @@ -91,7 +91,7 @@ int siphash(const void *in, const size_t inlen, const void *k, uint8_t *out, uint64_t k1 = U8TO64_LE(kk + 8); uint64_t m; int i; - const uint8_t *end = ni + inlen - (inlen % sizeof(uint64_t)); + const unsigned char *end = ni + inlen - (inlen % sizeof(uint64_t)); const int left = inlen & 7; uint64_t b = ((uint64_t)inlen) << 56; v3 ^= k1; -- cgit v1.2.3