Fix a bug that hides order book liquidity and causes crashes.

This commit is contained in:
JoelKatz
2013-08-14 14:21:25 -07:00
parent be1ca396c5
commit 3e908c92b1
2 changed files with 4 additions and 3 deletions

View File

@@ -946,7 +946,9 @@ bool LedgerEntrySet::dirNext (
STVector256 svIndexes = sleNode->getFieldV256 (sfIndexes);
std::vector<uint256>& vuiIndexes = svIndexes.peekValue ();
if (uDirEntry == vuiIndexes.size ())
assert (uDirEntry >= vuiIndexes.size ());
if (uDirEntry <= vuiIndexes.size ())
{
uint64 uNodeNext = sleNode->getFieldU64 (sfIndexNext);

View File

@@ -2120,9 +2120,8 @@ void NetworkOPs::getBookPage (Ledger::pointer lpLedger, const uint160& uTakerPay
{
uTipIndex = sleOfferDir->getIndex ();
saDirRate = STAmount::setRate (Ledger::getQuality (uTipIndex));
SLE::pointer sleBookNode;
lesActive.dirFirst (uTipIndex, sleBookNode, uBookEntry, uOfferIndex);
lesActive.dirFirst (uTipIndex, sleOfferDir, uBookEntry, uOfferIndex);
WriteLog (lsTRACE, NetworkOPs) << boost::str (boost::format ("getBookPage: uTipIndex=%s") % uTipIndex);
WriteLog (lsTRACE, NetworkOPs) << boost::str (boost::format ("getBookPage: uOfferIndex=%s") % uOfferIndex);