diff --git a/src/liblzma/check/crc32_fast.c b/src/liblzma/check/crc32_fast.c index 49dc31f2..94da8559 100644 --- a/src/liblzma/check/crc32_fast.c +++ b/src/liblzma/check/crc32_fast.c @@ -49,7 +49,7 @@ lzma_crc32(const uint8_t *buf, size_t size, uint32_t crc) // Calculate the CRC32 using the slice-by-eight algorithm. while (buf < limit) { - crc ^= *(uint32_t *)(buf); + crc ^= *(const uint32_t *)(buf); buf += 4; crc = lzma_crc32_table[7][A(crc)] @@ -57,7 +57,7 @@ lzma_crc32(const uint8_t *buf, size_t size, uint32_t crc) ^ lzma_crc32_table[5][C(crc)] ^ lzma_crc32_table[4][D(crc)]; - const uint32_t tmp = *(uint32_t *)(buf); + const uint32_t tmp = *(const uint32_t *)(buf); buf += 4; // At least with some compilers, it is critical for diff --git a/src/liblzma/check/crc64_fast.c b/src/liblzma/check/crc64_fast.c index e42fc3dc..52af29ed 100644 --- a/src/liblzma/check/crc64_fast.c +++ b/src/liblzma/check/crc64_fast.c @@ -46,9 +46,10 @@ lzma_crc64(const uint8_t *buf, size_t size, uint64_t crc) while (buf < limit) { #ifdef WORDS_BIGENDIAN - const uint32_t tmp = (crc >> 32) ^ *(uint32_t *)(buf); + const uint32_t tmp = (crc >> 32) + ^ *(const uint32_t *)(buf); #else - const uint32_t tmp = crc ^ *(uint32_t *)(buf); + const uint32_t tmp = crc ^ *(const uint32_t *)(buf); #endif buf += 4;