diff options
author | Andrew Chow <github@achow101.com> | 2022-09-13 11:37:05 -0400 |
---|---|---|
committer | Andrew Chow <github@achow101.com> | 2022-09-13 11:51:51 -0400 |
commit | c85688347eac1a79099ae61dfc37e69e3fa3b220 (patch) | |
tree | 1c9a72fb62acec9ee85d64ef2c7df8069ed8bde4 /src/Makefile.test.include | |
parent | 3a7e0a210c86e3c1750c7e04e3d1d689cf92ddaa (diff) | |
parent | e06676377d935c69f0ee51fc18eb0772d524aba5 (diff) |
Merge bitcoin/bitcoin#26021: wallet: bugfix, load a wallet with an unknown/corrupt descriptor causes a fatal error
e06676377d935c69f0ee51fc18eb0772d524aba5 wallet: coverage for loading an unknown descriptor (furszy)
d26c3cc44438ecb9e4f618a2427c3c92a292aa16 wallet: bugfix, load wallet with an unknown descriptor cause fatal error (furszy)
Pull request description:
Fixes #26015
If the descriptor entry is unrecognized (due a soft downgrade) or corrupt, the
unserialization fails and `LoadWallet`, instead of stop there and return the error,
continues reading all the db records. As other records tied to the unrecognized
or corrupt descriptor are scanned, a fatal error is being thrown.
This fixes it by catching the descriptor parse failure and return which wallet failed.
Logging its name/path, so the user can remove it from the settings file, to prevent
its load at startup.
Note: added the test in a separate file intentionally.
Will continue adding coverage for the wallet load process in follow-up PRs.
ACKs for top commit:
achow101:
ACK e06676377d935c69f0ee51fc18eb0772d524aba5
Sjors:
re-utACK e06676377d935c69f0ee51fc18eb0772d524aba5
Tree-SHA512: d1f1a5d7e944c89c97a33b25b4411a36a11edae172c22f8524f69c84a035f84c570b284679f901fe60f1300f781b76a6c17b015a8e7ad44ebd25a0c295ef260f
Diffstat (limited to 'src/Makefile.test.include')
-rw-r--r-- | src/Makefile.test.include | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/Makefile.test.include b/src/Makefile.test.include index 8a2386a2b4..987f30251c 100644 --- a/src/Makefile.test.include +++ b/src/Makefile.test.include @@ -174,7 +174,8 @@ BITCOIN_TESTS += \ wallet/test/availablecoins_tests.cpp \ wallet/test/init_tests.cpp \ wallet/test/ismine_tests.cpp \ - wallet/test/scriptpubkeyman_tests.cpp + wallet/test/scriptpubkeyman_tests.cpp \ + wallet/test/walletload_tests.cpp FUZZ_SUITE_LD_COMMON +=\ $(SQLITE_LIBS) \ |