diff --git a/versioning/BRM/slavecomm.cpp b/versioning/BRM/slavecomm.cpp index 27e0eece0..358ff5201 100644 --- a/versioning/BRM/slavecomm.cpp +++ b/versioning/BRM/slavecomm.cpp @@ -2116,8 +2116,8 @@ int SlaveComm::replayJournal(string prefix) const char* filename = fName.c_str(); - IDBDataFile* journalf = - IDBDataFile::open(IDBPolicy::getType(filename, IDBPolicy::WRITEENG), filename, "rb", 0); + std::unique_ptr journalf = + std::unique_ptr(IDBDataFile::open(IDBPolicy::getType(filename, IDBPolicy::WRITEENG), filename, "rb", 0)); if (!journalf) { diff --git a/versioning/BRM/vbbm.cpp b/versioning/BRM/vbbm.cpp index d490783eb..b485304e3 100644 --- a/versioning/BRM/vbbm.cpp +++ b/versioning/BRM/vbbm.cpp @@ -986,12 +986,12 @@ void VBBM::loadVersion2(IDBDataFile* in) } size_t readSize = vbbmEntries * sizeof(entry); - char* readBuf = new char[readSize]; + std::unique_ptr readBuf(new char[readSize]); size_t progress = 0; int err; while (progress < readSize) { - err = in->read(readBuf + progress, readSize - progress); + err = in->read(readBuf.get() + progress, readSize - progress); if (err < 0) { log_errno("VBBM::load()"); @@ -1005,7 +1005,7 @@ void VBBM::loadVersion2(IDBDataFile* in) progress += err; } - VBBMEntry* loadedEntries = (VBBMEntry*)readBuf; + VBBMEntry* loadedEntries = reinterpret_cast(readBuf.get()); for (i = 0; i < vbbmEntries; i++) insert(loadedEntries[i].lbid, loadedEntries[i].verID, loadedEntries[i].vbOID, loadedEntries[i].vbFBO, true); diff --git a/versioning/BRM/vss.cpp b/versioning/BRM/vss.cpp index 522fc378e..b437f670c 100644 --- a/versioning/BRM/vss.cpp +++ b/versioning/BRM/vss.cpp @@ -1402,12 +1402,12 @@ void VSS::load(string filename) */ size_t readSize = header.entries * sizeof(entry); - char* readBuf = new char[readSize]; + std::unique_ptr readBuf(new char[readSize]); size_t progress = 0; int err; while (progress < readSize) { - err = in->read(readBuf + progress, readSize - progress); + err = in->read(readBuf.get() + progress, readSize - progress); if (err < 0) { log_errno("VBBM::load()"); @@ -1421,7 +1421,7 @@ void VSS::load(string filename) progress += err; } - VSSEntry* loadedEntries = (VSSEntry*)readBuf; + VSSEntry* loadedEntries = reinterpret_cast(readBuf.get()); for (i = 0; i < header.entries; i++) insert(loadedEntries[i].lbid, loadedEntries[i].verID, loadedEntries[i].vbFlag, loadedEntries[i].locked, true);