Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix char signedness issue in _crc32c_sw_slicing_by_8()
Fix `_crc32c_sw_slicing_by_8()` to use `unsigned char` for `p_buf`, to fix incorrect results on platforms with signed `char` such as SPARC. The code has been casting `unsigned char *` to `char *` for no apparent reason, and this broke the bitshifts in the big endian blocks. Particularly, crc ^= *(p_buf++) << 16 would be XOR-ed against `0xffee0000` rather than `0x00ee0000`. Fixes #43
- Loading branch information