Reported by Yehuda Weinraub (yehudasa@gamil.com) - CRC32C algorithm
uses incorrect init_bytes value. It SHOULD have the number of bytes to get to a 4 byte boundary. PR: 128134 MFC after: 4 weeks
This commit is contained in:
parent
f1f0dd9ef3
commit
fcea7c2ed3
@ -583,13 +583,13 @@ update_crc32(uint32_t crc32c,
|
||||
unsigned char *buffer,
|
||||
unsigned int length)
|
||||
{
|
||||
uint32_t offset;
|
||||
uint32_t to_even_word;
|
||||
|
||||
if (length == 0) {
|
||||
return (crc32c);
|
||||
}
|
||||
offset = ((uintptr_t) buffer) & 0x3;
|
||||
return (sctp_crc32c_sb8_64_bit(crc32c, buffer, length, offset));
|
||||
to_even_word = (4 - (((uintptr_t) buffer) & 0x3));
|
||||
return (sctp_crc32c_sb8_64_bit(crc32c, buffer, length, to_even_word));
|
||||
}
|
||||
|
||||
uint32_t sctp_crc_c[256] = {
|
||||
|
Loading…
Reference in New Issue
Block a user