From 451741962885eaa4b55033d53af731e0ba22650f Mon Sep 17 00:00:00 2001 From: dergoegge Date: Thu, 9 Mar 2023 18:17:06 +0100 Subject: [util] Avoid integer overflow in CheckDiskSpace --- src/init.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/init.cpp') 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(_( -- cgit v1.2.3