1
0
Fork 0

crc16-ccitt: static analysis: loss of precision (assignment)

This commit is contained in:
temi54c1l8 2024-06-13 13:56:00 +02:00
parent bc920558ac
commit 20d7220468

View file

@ -84,7 +84,7 @@ static const uint16_t crc16_ccitt_table[256] = {
/******************************************************************************/
void crc16_ccitt_single(uint16_t *crc, const uint8_t chr) {
uint8_t tmp = (uint8_t)(*crc >> 8U) ^ chr;
*crc = (*crc << 8U) ^ crc16_ccitt_table[tmp];
*crc = (uint16_t)((*crc << 8U) ^ crc16_ccitt_table[tmp]);
}
@ -96,8 +96,8 @@ uint16_t crc16_ccitt(const uint8_t block[],
size_t i;
for (i = 0U; i < blockLength; i++) {
uint8_t tmp = (uint8_t)(crc >> 8U) ^ block[i];
crc = (crc << 8U) ^ crc16_ccitt_table[tmp];
uint8_t tmp = (uint8_t)((uint8_t)(crc >> 8U) ^ block[i]);
crc = (uint16_t)((crc << 8U) ^ crc16_ccitt_table[tmp]);
}
return crc;
}