aboutsummaryrefslogtreecommitdiff
path: root/src/script/sigcache.cpp
diff options
context:
space:
mode:
authorTheCharlatan <seb.kung@gmail.com>2024-05-20 22:32:32 +0200
committerTheCharlatan <seb.kung@gmail.com>2024-07-04 22:35:29 +0200
commitab14d1d6a4a8ef5fe5013150e6c5ebcb5f5e4ea9 (patch)
tree883717aa5d4afee50ba779e0c547e9fc483f7bcb /src/script/sigcache.cpp
parentd2c8d161b46bd62256a17abd086d8ae138c043c3 (diff)
downloadbitcoin-ab14d1d6a4a8ef5fe5013150e6c5ebcb5f5e4ea9.tar.xz
validation: Don't error if maxsigcachesize exceeds uint32::max
Instead clamp it to uint32::max if it exceeds it. Co-authored-by: Anthony Towns <aj@erisian.com.au>
Diffstat (limited to 'src/script/sigcache.cpp')
-rw-r--r--src/script/sigcache.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/script/sigcache.cpp b/src/script/sigcache.cpp
index 7c6c282cc4..666601d174 100644
--- a/src/script/sigcache.cpp
+++ b/src/script/sigcache.cpp
@@ -15,7 +15,6 @@
#include <algorithm>
#include <mutex>
-#include <optional>
#include <shared_mutex>
#include <vector>
@@ -77,7 +76,7 @@ public:
std::unique_lock<std::shared_mutex> lock(cs_sigcache);
setValid.insert(entry);
}
- std::optional<std::pair<uint32_t, size_t>> setup_bytes(size_t n)
+ std::pair<uint32_t, size_t> setup_bytes(size_t n)
{
return setValid.setup_bytes(n);
}
@@ -96,10 +95,7 @@ static CSignatureCache signatureCache;
// signatureCache.
bool InitSignatureCache(size_t max_size_bytes)
{
- auto setup_results = signatureCache.setup_bytes(max_size_bytes);
- if (!setup_results) return false;
-
- const auto [num_elems, approx_size_bytes] = *setup_results;
+ const auto [num_elems, approx_size_bytes] = signatureCache.setup_bytes(max_size_bytes);
LogPrintf("Using %zu MiB out of %zu MiB requested for signature cache, able to store %zu elements\n",
approx_size_bytes >> 20, max_size_bytes >> 20, num_elems);
return true;