diff --git a/LedgerAcquire.cpp b/LedgerAcquire.cpp index 1ad99cad5..c19f74842 100644 --- a/LedgerAcquire.cpp +++ b/LedgerAcquire.cpp @@ -81,8 +81,16 @@ void LedgerAcquire::badPeer(Peer::pointer ptr) bool LedgerAcquire::takeBase(const std::vector& data) { // Return value: true=normal, false=bad data + boost::recursive_mutex::scoped_lock sl(mLock); if(mHaveBase) return true; - // WRITEME + Ledger* ledger=new Ledger(data); + if(ledger->getHash()!=mHash) + { + delete ledger; + return false; + } + mLedger=Ledger::pointer(ledger); + mHaveBase=true; return true; }