diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/zenserver/projectstore/projectstore.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/zenserver/projectstore/projectstore.cpp b/src/zenserver/projectstore/projectstore.cpp index 984b749d0..7962c8cd1 100644 --- a/src/zenserver/projectstore/projectstore.cpp +++ b/src/zenserver/projectstore/projectstore.cpp @@ -5428,7 +5428,7 @@ public: }); ProjectStore::Oplog* Oplog = nullptr; - auto __ = MakeGuard([this, Oplog]() { + auto __ = MakeGuard([this, &Oplog]() { if (Oplog != nullptr && m_OplogWithUpdateCapture == nullptr) { delete Oplog; @@ -5503,10 +5503,14 @@ public: { ProjectStore::Oplog* Oplog = new ProjectStore::Oplog(m_OplogId, m_Project.Get(), m_Project->m_CidStore, m_OplogBasePath, std::filesystem::path{}); + auto __ = MakeGuard([Oplog]() { + if (Oplog != nullptr) + { + delete Oplog; + } + }); Oplog->Read(); - RwLock::SharedLockScope __(Oplog->m_OplogLock); Oplog->GetAttachmentsLocked(m_References, m_ProjectStore.m_Config.StoreAttachmentMetaData); - delete Oplog; } } |