diff --git a/src/rdb.cpp b/src/rdb.cpp index 9c74914d2..73f89e76e 100644 --- a/src/rdb.cpp +++ b/src/rdb.cpp @@ -1222,6 +1222,8 @@ int rdbSaveInfoAuxFields(rio *rdb, int rdbflags, rdbSaveInfo *rsi) { sdsstring val = sdsstring(sdsempty()); for (auto &msi : rsi->vecmastersaveinfo) { + if (msi.masterhost == nullptr) + continue; val = val.catfmt("%s:%I:%s:%i:%i;", msi.master_replid, msi.master_initial_offset, msi.masterhost.get(), diff --git a/src/server.h b/src/server.h index 386f8e754..e17390c90 100644 --- a/src/server.h +++ b/src/server.h @@ -1904,7 +1904,8 @@ struct MasterSaveInfo { selected_db = 0; } masterport = mi.masterport; - masterhost = sdsstring(sdsdup(mi.masterhost)); + if (mi.masterhost) + masterhost = sdsstring(sdsdup(mi.masterhost)); masterport = mi.masterport; }