Fix segfault when creating new wallet
The initialization of the default key used keyUser instead of vchDefaultKey. keyUser is now complete removed.
This commit is contained in:
parent
c774b16976
commit
d3800d59d5
@ -962,21 +962,15 @@ bool CWallet::LoadWallet(bool& fFirstRunRet)
|
||||
return false;
|
||||
fFirstRunRet = vchDefaultKey.empty();
|
||||
|
||||
if (mapKeys.count(vchDefaultKey))
|
||||
if (!mapKeys.count(vchDefaultKey))
|
||||
{
|
||||
// Set keyUser
|
||||
keyUser.SetPubKey(vchDefaultKey);
|
||||
keyUser.SetPrivKey(mapKeys[vchDefaultKey]);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Create new keyUser and set as default key
|
||||
// Create new default key
|
||||
RandAddSeedPerfmon();
|
||||
|
||||
vchDefaultKey = GetKeyFromKeyPool();
|
||||
if (!SetAddressBookName(PubKeyToAddress(vchDefaultKey), ""))
|
||||
return false;
|
||||
CWalletDB(strWalletFile).WriteDefaultKey(keyUser.GetPubKey());
|
||||
CWalletDB(strWalletFile).WriteDefaultKey(vchDefaultKey);
|
||||
}
|
||||
|
||||
CreateThread(ThreadFlushWalletDB, &strWalletFile);
|
||||
|
@ -47,7 +47,6 @@ public:
|
||||
mutable CCriticalSection cs_mapAddressBook;
|
||||
|
||||
std::vector<unsigned char> vchDefaultKey;
|
||||
CKey keyUser;
|
||||
|
||||
bool AddKey(const CKey& key);
|
||||
bool AddToWallet(const CWalletTx& wtxIn);
|
||||
|
Loading…
Reference in New Issue
Block a user