diff --git a/src/wallet/db.cpp b/src/wallet/db.cpp index f0c78e72032..1523b7d6133 100644 --- a/src/wallet/db.cpp +++ b/src/wallet/db.cpp @@ -42,12 +42,12 @@ std::vector ListDatabases(const fs::path& wallet_dir) (IsBDBFile(BDBDataFile(it->path())) || IsSQLiteFile(SQLiteDataFile(it->path())))) { // Found a directory which contains wallet.dat btree file, add it as a wallet. paths.emplace_back(path); - } else if (it.depth() == 0 && it->symlink_status().type() == fs::file_type::regular && IsBDBFile(it->path()) && it->path().extension() != ".bak") { + } else if (it.depth() == 0 && it->symlink_status().type() == fs::file_type::regular && it->path().extension() != ".bak") { if (it->path().filename() == "wallet.dat") { // Found top-level wallet.dat btree file, add top level directory "" // as a wallet. paths.emplace_back(); - } else { + } else if (IsBDBFile(it->path())) { // Found top-level btree file not called wallet.dat. Current bitcoin // software will never create these files but will allow them to be // opened in a shared database environment for backwards compatibility. diff --git a/test/functional/wallet_migration.py b/test/functional/wallet_migration.py index 88a1a0cae58..e2c8671e1cc 100755 --- a/test/functional/wallet_migration.py +++ b/test/functional/wallet_migration.py @@ -539,6 +539,7 @@ class WalletMigrationTest(BitcoinTestFramework): assert_equal(info["format"], "sqlite") walletdir_list = wallet.listwalletdir() + assert {"name": info["walletname"]} in walletdir_list["wallets"] # Check backup existence and its non-empty wallet filename backup_filename = f"default_wallet_{curr_time}.legacy.bak"