diff --git a/mxssb.c b/mxssb.c index cb8fe896ce0d0f2d42fd03827b21f3c599d905bb..b2f8b1fce5d3f4fe174c714b4f3070c39e174da7 100644 --- a/mxssb.c +++ b/mxssb.c @@ -174,17 +174,17 @@ static int sb_aes_reinit(struct sb_image_ctx *ictx, int enc) /* * CRC32 */ -static uint32_t crc32(uint8_t *data, int len) +static uint32_t crc32(uint8_t *data, uint32_t len) { const uint32_t poly = 0x04c11db7; uint32_t crc32 = 0xffffffff; - int byte, bit; + unsigned int byte, bit; for (byte = 0; byte < len; byte++) { crc32 ^= data[byte] << 24; for (bit = 8; bit > 0; bit--) { - if (crc32 & (1 << 31)) + if (crc32 & (1UL << 31)) crc32 = (crc32 << 1) ^ poly; else crc32 = (crc32 << 1);