Fix bad return values in LoadWallet.
authorMatt Corallo <matt@bluematt.me>
Thu, 14 Jul 2011 16:15:50 +0000 (18:15 +0200)
committerMatt Corallo <matt@bluematt.me>
Thu, 14 Jul 2011 16:15:50 +0000 (18:15 +0200)
src/db.cpp

index 4df05d6..6692db2 100644 (file)
@@ -777,7 +777,7 @@ int CWalletDB::LoadWallet(CWallet* pwallet)
                     key.SetPrivKey(wkey.vchPrivKey);
                 }
                 if (!pwallet->LoadKey(key))
-                    return false;
+                    return DB_CORRUPT;
             }
             else if (strType == "mkey")
             {
@@ -786,7 +786,7 @@ int CWalletDB::LoadWallet(CWallet* pwallet)
                 CMasterKey kMasterKey;
                 ssValue >> kMasterKey;
                 if(pwallet->mapMasterKeys.count(nID) != 0)
-                    return false;
+                    return DB_CORRUPT;
                 pwallet->mapMasterKeys[nID] = kMasterKey;
                 if (pwallet->nMasterKeyMaxID < nID)
                     pwallet->nMasterKeyMaxID = nID;
@@ -798,7 +798,7 @@ int CWalletDB::LoadWallet(CWallet* pwallet)
                 vector<unsigned char> vchPrivKey;
                 ssValue >> vchPrivKey;
                 if (!pwallet->LoadCryptedKey(vchPubKey, vchPrivKey))
-                    return false;
+                    return DB_CORRUPT;
             }
             else if (strType == "defaultkey")
             {