summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/erasurecode.c3
-rw-r--r--src/utils/chksum/crc32.c3
2 files changed, 3 insertions, 3 deletions
diff --git a/src/erasurecode.c b/src/erasurecode.c
index dd59ae5..a660588 100644
--- a/src/erasurecode.c
+++ b/src/erasurecode.c
@@ -1045,8 +1045,7 @@ int liberasurecode_get_fragment_metadata(char *fragment,
}
/* Verify metadata checksum */
- if (is_invalid_fragment_header(
- (fragment_header_t *) fragment)) {
+ if (is_invalid_fragment_header((fragment_header_t *) fragment)) {
log_error("Invalid fragment header information!");
ret = -EBADHEADER;
goto out;
diff --git a/src/utils/chksum/crc32.c b/src/utils/chksum/crc32.c
index b11dec9..0c46107 100644
--- a/src/utils/chksum/crc32.c
+++ b/src/utils/chksum/crc32.c
@@ -97,7 +97,8 @@ liberasurecode_crc32_alt(int crc, const void *buf, size_t size)
crc = crc ^ ~0U;
while (size--)
- crc = crc32_tab[(crc ^ *p++) & 0xFF] ^ (crc >> 8);
+ crc = crc32_tab[(crc ^ *p++) & 0xFF] ^
+ ((((crc >> 8) & 0x00FFFFFF) ^ 0x00800000) - 0x00800000);
return crc ^ ~0U;
}