diff options
author | TheCharlatan <seb.kung@gmail.com> | 2024-05-20 22:32:32 +0200 |
---|---|---|
committer | TheCharlatan <seb.kung@gmail.com> | 2024-07-04 22:35:29 +0200 |
commit | ab14d1d6a4a8ef5fe5013150e6c5ebcb5f5e4ea9 (patch) | |
tree | 883717aa5d4afee50ba779e0c547e9fc483f7bcb /src/script/sigcache.cpp | |
parent | d2c8d161b46bd62256a17abd086d8ae138c043c3 (diff) | |
download | bitcoin-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.cpp | 8 |
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; |