diff --git a/src/ripple/app/misc/impl/AccountTxPaging.cpp b/src/ripple/app/misc/impl/AccountTxPaging.cpp index eaf2ae9b80..e8293dee4b 100644 --- a/src/ripple/app/misc/impl/AccountTxPaging.cpp +++ b/src/ripple/app/misc/impl/AccountTxPaging.cpp @@ -45,9 +45,10 @@ convertBlobsToTxResult ( tr->setStatus (Transaction::sqlTransactionStatus(status)); tr->setLedger (ledger_index); - to.emplace_back(std::make_pair(std::move(tr), - std::make_shared ( - tr->getID (), tr->getLedger (), rawMeta))); + auto metaset = std::make_shared ( + tr->getID (), tr->getLedger (), rawMeta); + + to.emplace_back(std::move(tr), metaset); }; void diff --git a/src/ripple/nodestore/impl/DatabaseImp.h b/src/ripple/nodestore/impl/DatabaseImp.h index 6e214cbffd..1653c05ed0 100644 --- a/src/ripple/nodestore/impl/DatabaseImp.h +++ b/src/ripple/nodestore/impl/DatabaseImp.h @@ -287,13 +287,13 @@ public: uint256 const& hash, Backend& backend) { - std::shared_ptr object = NodeObject::createObject( - type, std::move(data), hash); - #if RIPPLE_VERIFY_NODEOBJECT_KEYS assert (hash == sha512Hash(make_Slice(data))); #endif + std::shared_ptr object = NodeObject::createObject( + type, std::move(data), hash); + m_cache.canonicalize (hash, object, true); backend.store (object); diff --git a/src/ripple/overlay/impl/OverlayImpl.cpp b/src/ripple/overlay/impl/OverlayImpl.cpp index ec115fb076..be4b2fda98 100644 --- a/src/ripple/overlay/impl/OverlayImpl.cpp +++ b/src/ripple/overlay/impl/OverlayImpl.cpp @@ -713,8 +713,8 @@ OverlayImpl::selectPeers (PeerSet& set, std::size_t limit, v.reserve(m_publicKeyMap.size()); for_each_unlocked ([&](std::shared_ptr && e) { - v.emplace_back( - e->getScore(score(e)), std::move(e)); + auto const s = e->getScore(score(e)); + v.emplace_back(s, std::move(e)); }); } std::sort(v.begin(), v.end(),