diff --git a/src/cpp/ripple/AmountRound.cpp b/src/cpp/ripple/AmountRound.cpp index 8980c59b92..9e02fb23e0 100644 --- a/src/cpp/ripple/AmountRound.cpp +++ b/src/cpp/ripple/AmountRound.cpp @@ -271,7 +271,7 @@ STAmount STAmount::divRound(const STAmount& num, const STAmount& den, --denOffset; } - bool resultNegative = num.mIsNegative != num.mIsNegative; + bool resultNegative = num.mIsNegative != den.mIsNegative; // Compute (numerator * 10^17) / denominator CBigNum v; if ((BN_add_word64(&v, numVal) != 1) || (BN_mul_word64(&v, tenTo17) != 1)) diff --git a/src/cpp/ripple/FeatureTable.h b/src/cpp/ripple/FeatureTable.h index fba08b557f..2c6fe9320c 100644 --- a/src/cpp/ripple/FeatureTable.h +++ b/src/cpp/ripple/FeatureTable.h @@ -54,7 +54,7 @@ protected: public: FeatureTable(uint32 majorityTime, int majorityFraction) - : mMajorityTime(majorityTime), mMajorityFraction(majorityFraction), mFirstReport(0) + : mMajorityTime(majorityTime), mMajorityFraction(majorityFraction), mFirstReport(0), mLastReport(0) { ; } bool vetoFeature(const uint256& feature); diff --git a/src/cpp/ripple/FieldNames.cpp b/src/cpp/ripple/FieldNames.cpp index 18271e48c7..cb722b8bda 100644 --- a/src/cpp/ripple/FieldNames.cpp +++ b/src/cpp/ripple/FieldNames.cpp @@ -44,7 +44,8 @@ static int initFields() static const int f = initFields(); -SField::SField(SerializedTypeID tid, int fv) : fieldCode(FIELD_CODE(tid, fv)), fieldType(tid), fieldValue(fv) +SField::SField(SerializedTypeID tid, int fv) : fieldCode(FIELD_CODE(tid, fv)), fieldType(tid), fieldValue(fv), + fieldMeta(sMD_Default), fieldNum(++num), signingField(true) { // call with the map mutex fieldName = lexical_cast_i(tid) + "/" + lexical_cast_i(fv); codeToField[fieldCode] = this; diff --git a/src/cpp/ripple/FieldNames.h b/src/cpp/ripple/FieldNames.h index b2ae08aa72..ffb481f00e 100644 --- a/src/cpp/ripple/FieldNames.h +++ b/src/cpp/ripple/FieldNames.h @@ -82,7 +82,7 @@ public: fieldNum = ++num; } - SField(int fc) : fieldCode(fc), fieldType(STI_UNKNOWN), fieldValue(0), fieldMeta(sMD_Never) + SField(int fc) : fieldCode(fc), fieldType(STI_UNKNOWN), fieldValue(0), fieldMeta(sMD_Never), signingField(true) { boost::mutex::scoped_lock sl(mapMutex); fieldNum = ++num; diff --git a/src/cpp/ripple/Ledger.cpp b/src/cpp/ripple/Ledger.cpp index 4a195cbcad..2fb09f3277 100644 --- a/src/cpp/ripple/Ledger.cpp +++ b/src/cpp/ripple/Ledger.cpp @@ -669,7 +669,6 @@ Ledger::pointer Ledger::getSQL1(SqliteStatement *stmt) uint32 closingTime, prevClosingTime, ledgerSeq; int closeResolution; unsigned closeFlags; - std::string hash; ledgerHash.SetHexExact(stmt->peekString(0)); prevHash.SetHexExact(stmt->peekString(1)); diff --git a/src/cpp/ripple/LedgerEntrySet.h b/src/cpp/ripple/LedgerEntrySet.h index 10fe105a62..42a0b9f216 100644 --- a/src/cpp/ripple/LedgerEntrySet.h +++ b/src/cpp/ripple/LedgerEntrySet.h @@ -58,7 +58,7 @@ protected: int mSeq; LedgerEntrySet(Ledger::ref ledger, const std::map &e, - const TransactionMetaSet& s, int m) : mLedger(ledger), mEntries(e), mSet(s), mSeq(m) { ; } + const TransactionMetaSet& s, int m) : mLedger(ledger), mEntries(e), mSet(s), mParams(tapNONE), mSeq(m) { ; } SLE::pointer getForMod(const uint256& node, Ledger::ref ledger, boost::unordered_map& newMods); diff --git a/src/cpp/ripple/NetworkOPs.cpp b/src/cpp/ripple/NetworkOPs.cpp index 389531cb62..010d26046a 100644 --- a/src/cpp/ripple/NetworkOPs.cpp +++ b/src/cpp/ripple/NetworkOPs.cpp @@ -35,7 +35,7 @@ void InfoSub::onSendEmpty() NetworkOPs::NetworkOPs(boost::asio::io_service& io_service, LedgerMaster* pLedgerMaster) : mMode(omDISCONNECTED), mNeedNetworkLedger(false), mProposing(false), mValidating(false), mNetTimer(io_service), mLedgerMaster(pLedgerMaster), mCloseTimeOffset(0), mLastCloseProposers(0), - mLastCloseConvergeTime(1000 * LEDGER_IDLE_INTERVAL), mLastValidationTime(0), + mLastCloseConvergeTime(1000 * LEDGER_IDLE_INTERVAL), mLastCloseTime(0), mLastValidationTime(0), mLastLoadBase(256), mLastLoadFactor(256) { } @@ -1177,7 +1177,7 @@ std::vector NetworkOPs::getAccountTxsB( rawTxn.resize(txnSize); int metaSize = 2048; - std::vector rawMeta(2048); + std::vector rawMeta(metaSize); metaSize = db->getBinary("TxnMeta", &rawMeta[0], rawMeta.size()); if (metaSize > rawMeta.size()) { @@ -1650,7 +1650,7 @@ void NetworkOPs::unsubAccount(uint64 uSeq, const boost::unordered_setgetFieldAccount(sfAccount); - mTakerGets = mLedgerEntry->getFieldAmount(sfTakerGets); - mTakerPays = mLedgerEntry->getFieldAmount(sfTakerPays); - mSeq = mLedgerEntry->getFieldU32(sfSequence); -} +Offer::Offer(SerializedLedgerEntry::pointer ledgerEntry) : AccountItem(ledgerEntry), + mAccount(mLedgerEntry->getFieldAccount(sfAccount)), + mTakerGets(mLedgerEntry->getFieldAmount(sfTakerGets)), + mTakerPays(mLedgerEntry->getFieldAmount(sfTakerPays)), + mSeq(mLedgerEntry->getFieldU32(sfSequence)) +{ ; } Json::Value Offer::getJson(int) { diff --git a/src/cpp/ripple/ParameterTable.cpp b/src/cpp/ripple/ParameterTable.cpp index 200fc1d60b..3ccc68e173 100644 --- a/src/cpp/ripple/ParameterTable.cpp +++ b/src/cpp/ripple/ParameterTable.cpp @@ -39,6 +39,7 @@ bool ParameterNode::setValue(const std::string& name, const Json::Value& value, error = Json::objectValue; error["error"] = "Node has no children"; error["name"] = it->second->getName(); + return false; } return n->setValue(name.substr(dot + 1), value, error); @@ -74,7 +75,6 @@ bool ParameterNode::addNode(const std::string& name, Parameter::ref node) if (!n) return false; } - return n->addNode(name.substr(dot + 1), node); } diff --git a/src/cpp/ripple/RPCHandler.cpp b/src/cpp/ripple/RPCHandler.cpp index 8f38484cce..dbf9d6df2b 100644 --- a/src/cpp/ripple/RPCHandler.cpp +++ b/src/cpp/ripple/RPCHandler.cpp @@ -66,10 +66,10 @@ int iAdminGet(const Json::Value& jvRequest, const std::string& strRemoteIp) return iRole; } -RPCHandler::RPCHandler(NetworkOPs* netOps) : mNetOps(netOps) +RPCHandler::RPCHandler(NetworkOPs* netOps) : mNetOps(netOps), mRole(FORBID) { ; } -RPCHandler::RPCHandler(NetworkOPs* netOps, InfoSub::pointer infoSub) : mNetOps(netOps), mInfoSub(infoSub) +RPCHandler::RPCHandler(NetworkOPs* netOps, InfoSub::pointer infoSub) : mNetOps(netOps), mInfoSub(infoSub), mRole(FORBID) { ; } Json::Value RPCHandler::transactionSign(Json::Value jvRequest, bool bSubmit) diff --git a/src/cpp/ripple/Transaction.cpp b/src/cpp/ripple/Transaction.cpp index 494cd172fb..187935cc42 100644 --- a/src/cpp/ripple/Transaction.cpp +++ b/src/cpp/ripple/Transaction.cpp @@ -62,7 +62,7 @@ Transaction::Transaction( uint32 uSeq, const STAmount& saFee, uint32 uSourceTag) : - mAccountFrom(naSourceAccount), mFromPubKey(naPublicKey), mStatus(NEW), mResult(temUNCERTAIN) + mAccountFrom(naSourceAccount), mFromPubKey(naPublicKey), mInLedger(0), mStatus(NEW), mResult(temUNCERTAIN) { assert(mFromPubKey.isValid()); diff --git a/src/cpp/ripple/TransactionQueue.h b/src/cpp/ripple/TransactionQueue.h index ae7c997de9..843a78aa2c 100644 --- a/src/cpp/ripple/TransactionQueue.h +++ b/src/cpp/ripple/TransactionQueue.h @@ -55,7 +55,7 @@ protected: public: - TXQueue() { ; } + TXQueue() : mRunning(false) { ; } // Return: true = must dispatch signature checker thread bool addEntryForSigCheck(TXQEntry::ref);