aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordergoegge <n.goeggi@gmail.com>2023-03-09 18:17:06 +0100
committerdergoegge <n.goeggi@gmail.com>2023-03-10 15:50:26 +0100
commit451741962885eaa4b55033d53af731e0ba22650f (patch)
tree0aa48597ad9631d345c69d0addb324fb048faa26 /src
parent40c6c85c05812ee8bf824b639307b1ac17a001c4 (diff)
downloadbitcoin-451741962885eaa4b55033d53af731e0ba22650f.tar.xz
[util] Avoid integer overflow in CheckDiskSpace
Diffstat (limited to 'src')
-rw-r--r--src/init.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/init.cpp b/src/init.cpp
index 281e0d4966..0eb33ec132 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -1631,10 +1631,11 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
// On first startup, warn on low block storage space
if (!fReindex && !fReindexChainState && chain_active_height <= 1) {
+ uint64_t assumed_chain_bytes{chainparams.AssumedBlockchainSize() * 1024 * 1024 * 1024};
uint64_t additional_bytes_needed{
chainman.m_blockman.IsPruneMode() ?
- chainman.m_blockman.GetPruneTarget() :
- chainparams.AssumedBlockchainSize() * 1024 * 1024 * 1024};
+ std::min(chainman.m_blockman.GetPruneTarget(), assumed_chain_bytes) :
+ assumed_chain_bytes};
if (!CheckDiskSpace(args.GetBlocksDirPath(), additional_bytes_needed)) {
InitWarning(strprintf(_(