Commit eafaf172 authored by zhaozhao.zz's avatar zhaozhao.zz Committed by antirez
Browse files

AOF & RDB: be compatible with rdbchecksum no

parent 4630da37
...@@ -1649,16 +1649,18 @@ int rdbLoadRio(rio *rdb, rdbSaveInfo *rsi) { ...@@ -1649,16 +1649,18 @@ int rdbLoadRio(rio *rdb, rdbSaveInfo *rsi) {
decrRefCount(key); decrRefCount(key);
} }
/* Verify the checksum if RDB version is >= 5 */ /* Verify the checksum if RDB version is >= 5 */
if (rdbver >= 5 && server.rdb_checksum) { if (rdbver >= 5) {
uint64_t cksum, expected = rdb->cksum; uint64_t cksum, expected = rdb->cksum;
if (rioRead(rdb,&cksum,8) == 0) goto eoferr; if (rioRead(rdb,&cksum,8) == 0) goto eoferr;
memrev64ifbe(&cksum); if (server.rdb_checksum) {
if (cksum == 0) { memrev64ifbe(&cksum);
serverLog(LL_WARNING,"RDB file was saved with checksum disabled: no check performed."); if (cksum == 0) {
} else if (cksum != expected) { serverLog(LL_WARNING,"RDB file was saved with checksum disabled: no check performed.");
serverLog(LL_WARNING,"Wrong RDB checksum. Aborting now."); } else if (cksum != expected) {
rdbExitReportCorruptRDB("RDB CRC error"); serverLog(LL_WARNING,"Wrong RDB checksum. Aborting now.");
rdbExitReportCorruptRDB("RDB CRC error");
}
} }
} }
return C_OK; return C_OK;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment