Browse Source

Fix issue where CDataStream->nVersion was taken a CKeyPool record version

0.15
Jonas Schnelli 8 years ago
parent
commit
d0a627a53a
No known key found for this signature in database
GPG Key ID: 1EB776BB03C7922D
  1. 1
      src/wallet/wallet.cpp
  2. 15
      src/wallet/wallet.h

1
src/wallet/wallet.cpp

@ -3933,6 +3933,7 @@ bool CWallet::BackupWallet(const std::string& strDest) @@ -3933,6 +3933,7 @@ bool CWallet::BackupWallet(const std::string& strDest)
CKeyPool::CKeyPool()
{
nTime = GetTime();
fInternal = false;
}
CKeyPool::CKeyPool(const CPubKey& vchPubKeyIn, bool internalIn)

15
src/wallet/wallet.h

@ -114,12 +114,17 @@ public: @@ -114,12 +114,17 @@ public:
READWRITE(nVersion);
READWRITE(nTime);
READWRITE(vchPubKey);
if (nVersion >= FEATURE_HD_SPLIT)
READWRITE(fInternal);
else
{
if (ser_action.ForRead())
if (ser_action.ForRead()) {
try {
READWRITE(fInternal);
}
catch (...) {
/* flag as external address if we can't read the internal boolean */
fInternal = false;
}
}
else {
READWRITE(fInternal);
}
}
};

Loading…
Cancel
Save