aboutsummaryrefslogtreecommitdiff
path: root/src/addrman.cpp
diff options
context:
space:
mode:
authorjunderw <junderwood@bitcoinbank.co.jp>2022-01-29 21:58:59 +0900
committerjunderw <junderwood@bitcoinbank.co.jp>2022-02-25 09:53:10 +0900
commitd41ed3215355582879c8eb6c99c2da33852f6cb1 (patch)
treeda4d170ee99b2d621a19645e5840c07fd95cb76b /src/addrman.cpp
parent5b4b8f76f3ae11064d4aa3ac157558e364751fd2 (diff)
downloadbitcoin-d41ed3215355582879c8eb6c99c2da33852f6cb1.tar.xz
p2p: Avoid InitError when downgrading peers.dat
fixes #24188 When downgrading, a peers.dat with a future version that has a minimum required version larger than the downgraded version would cause an InitError. This commit changes this behavior to overwrite the existing peers.dat with a new empty one, while creating a backup in peers.dat.bak.
Diffstat (limited to 'src/addrman.cpp')
-rw-r--r--src/addrman.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/addrman.cpp b/src/addrman.cpp
index 3a845b5b6e..f91a979934 100644
--- a/src/addrman.cpp
+++ b/src/addrman.cpp
@@ -248,7 +248,7 @@ void AddrManImpl::Unserialize(Stream& s_)
s >> compat;
const uint8_t lowest_compatible = compat - INCOMPATIBILITY_BASE;
if (lowest_compatible > FILE_FORMAT) {
- throw std::ios_base::failure(strprintf(
+ throw InvalidAddrManVersionError(strprintf(
"Unsupported format of addrman database: %u. It is compatible with formats >=%u, "
"but the maximum supported by this version of %s is %u.",
uint8_t{format}, uint8_t{lowest_compatible}, PACKAGE_NAME, uint8_t{FILE_FORMAT}));