diff --git a/src/input/readers/SQLite.cc b/src/input/readers/SQLite.cc index eec3698540..f97b2cea13 100644 --- a/src/input/readers/SQLite.cc +++ b/src/input/readers/SQLite.cc @@ -306,7 +306,7 @@ bool SQLite::DoUpdate() ofields[j] = EntryToVal(st, fields[j], mapping[j], submapping[j]); if ( ofields[j] == 0 ) { - for ( int k = 0; k < j; ++k ) + for ( unsigned int k = 0; k < j; ++k ) delete ofields[k]; delete [] ofields; diff --git a/src/probabilistic/BitVector.cc b/src/probabilistic/BitVector.cc index 257fc9ad71..79b403960e 100644 --- a/src/probabilistic/BitVector.cc +++ b/src/probabilistic/BitVector.cc @@ -495,6 +495,7 @@ BitVector::size_type BitVector::FindNext(size_type i) const uint64 BitVector::Hash() const { u_char buf[SHA256_DIGEST_LENGTH]; + uint64 digest; SHA256_CTX ctx; sha256_init(&ctx); @@ -502,7 +503,8 @@ uint64 BitVector::Hash() const sha256_update(&ctx, &bits[i], sizeof(bits[i])); sha256_final(&ctx, buf); - return *reinterpret_cast(buf); // Use the first bytes as digest. + memcpy(&digest, buf, sizeof(digest)); // Use the first bytes as digest + return digest; } BitVector::size_type BitVector::lowest_bit(block_type block) diff --git a/src/probabilistic/Hasher.cc b/src/probabilistic/Hasher.cc index b497dba9be..1f5f0910ba 100644 --- a/src/probabilistic/Hasher.cc +++ b/src/probabilistic/Hasher.cc @@ -13,6 +13,7 @@ using namespace probabilistic; uint64 Hasher::MakeSeed(const void* data, size_t size) { u_char buf[SHA256_DIGEST_LENGTH]; + uint64 tmpseed; SHA256_CTX ctx; sha256_init(&ctx); @@ -29,7 +30,8 @@ uint64 Hasher::MakeSeed(const void* data, size_t size) } sha256_final(&ctx, buf); - return *reinterpret_cast(buf); // Use the first bytes as seed. + memcpy(&tmpseed, buf, sizeof(tmpseed)); // Use the first bytes as seed. + return tmpseed; } Hasher::digest_vector Hasher::Hash(const HashKey* key) const