diff options
| author | Alex Morcos <[email protected]> | 2016-12-05 21:46:08 -0500 |
|---|---|---|
| committer | Alex Morcos <[email protected]> | 2016-12-08 15:40:14 -0500 |
| commit | eab8e1b1725f7458e3db6f0ea0bc04ec603d8e9b (patch) | |
| tree | 03da0f27850d474b28688153f934b484742262b8 /src/policy/fees.cpp | |
| parent | Merge #9282: CMutableTransaction is defined as struct (diff) | |
| download | discoin-eab8e1b1725f7458e3db6f0ea0bc04ec603d8e9b.tar.xz discoin-eab8e1b1725f7458e3db6f0ea0bc04ec603d8e9b.zip | |
fix a bug if the min fee is 0 for FeeFilterRounder
Diffstat (limited to 'src/policy/fees.cpp')
| -rw-r--r-- | src/policy/fees.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/policy/fees.cpp b/src/policy/fees.cpp index 9eb831bc1..9f01c24d2 100644 --- a/src/policy/fees.cpp +++ b/src/policy/fees.cpp @@ -299,6 +299,7 @@ void CBlockPolicyEstimator::removeTx(uint256 hash) CBlockPolicyEstimator::CBlockPolicyEstimator(const CFeeRate& _minRelayFee) : nBestSeenHeight(0) { + static_assert(MIN_FEERATE > 0, "Min feerate must be nonzero"); minTrackedFee = _minRelayFee < CFeeRate(MIN_FEERATE) ? CFeeRate(MIN_FEERATE) : _minRelayFee; std::vector<double> vfeelist; for (double bucketBoundary = minTrackedFee.GetFeePerK(); bucketBoundary <= MAX_FEERATE; bucketBoundary *= FEE_SPACING) { @@ -485,7 +486,7 @@ void CBlockPolicyEstimator::Read(CAutoFile& filein, int nFileVersion) FeeFilterRounder::FeeFilterRounder(const CFeeRate& minIncrementalFee) { - CAmount minFeeLimit = minIncrementalFee.GetFeePerK() / 2; + CAmount minFeeLimit = std::max(CAmount(1), minIncrementalFee.GetFeePerK() / 2); feeset.insert(0); for (double bucketBoundary = minFeeLimit; bucketBoundary <= MAX_FEERATE; bucketBoundary *= FEE_SPACING) { feeset.insert(bucketBoundary); |