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

This commit is contained in:
Jonas Schnelli 2017-01-16 11:10:12 +01:00
parent 9af8f00a75
commit d0a627a53a
No known key found for this signature in database
GPG key ID: 1EB776BB03C7922D
2 changed files with 11 additions and 5 deletions

View file

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

View file

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