From bcafca1077cf789ba79d16501a8cbb5d692bf8e6 Mon Sep 17 00:00:00 2001 From: Jonas Schnelli Date: Mon, 16 Jan 2017 11:22:30 +0100 Subject: [PATCH] Make sure we always generate one keypool key at minimum --- src/wallet/wallet.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index 488e6690c..e7ac918b2 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -2950,9 +2950,9 @@ bool CWallet::TopUpKeyPool(unsigned int kpSize) // generate +20% internal keys (minimum 2 keys) int64_t amountExternal = KeypoolCountExternalKeys(); int64_t amountInternal = setKeyPool.size() - amountExternal; - int64_t targetInternal = max((int64_t)ceil(nTargetSize * 0.2), (int64_t) 2); - int64_t missingExternal = max( (int64_t)(nTargetSize - amountExternal), (int64_t) 0); - int64_t missingInternal = max(targetInternal - amountInternal, (int64_t) 0); + int64_t targetInternal = std::max((int64_t)ceil(nTargetSize * 0.2), (int64_t) 2); + int64_t missingExternal = std::max(std::max((int64_t) nTargetSize, (int64_t) 1) - amountExternal, (int64_t) 0); + int64_t missingInternal = std::max(targetInternal - amountInternal, (int64_t) 0); if (!IsHDEnabled() || !CanSupportFeature(FEATURE_HD_SPLIT)) {