Merge pull request #347 from sipa/delkeyuser
Fix segfault when creating new wallet
This commit is contained in:
commit
d0d80170a2
2 changed files with 3 additions and 10 deletions
|
@ -962,21 +962,15 @@ bool CWallet::LoadWallet(bool& fFirstRunRet)
|
||||||
return false;
|
return false;
|
||||||
fFirstRunRet = vchDefaultKey.empty();
|
fFirstRunRet = vchDefaultKey.empty();
|
||||||
|
|
||||||
if (mapKeys.count(vchDefaultKey))
|
if (!mapKeys.count(vchDefaultKey))
|
||||||
{
|
{
|
||||||
// Set keyUser
|
// Create new default key
|
||||||
keyUser.SetPubKey(vchDefaultKey);
|
|
||||||
keyUser.SetPrivKey(mapKeys[vchDefaultKey]);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Create new keyUser and set as default key
|
|
||||||
RandAddSeedPerfmon();
|
RandAddSeedPerfmon();
|
||||||
|
|
||||||
vchDefaultKey = GetKeyFromKeyPool();
|
vchDefaultKey = GetKeyFromKeyPool();
|
||||||
if (!SetAddressBookName(PubKeyToAddress(vchDefaultKey), ""))
|
if (!SetAddressBookName(PubKeyToAddress(vchDefaultKey), ""))
|
||||||
return false;
|
return false;
|
||||||
CWalletDB(strWalletFile).WriteDefaultKey(keyUser.GetPubKey());
|
CWalletDB(strWalletFile).WriteDefaultKey(vchDefaultKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
CreateThread(ThreadFlushWalletDB, &strWalletFile);
|
CreateThread(ThreadFlushWalletDB, &strWalletFile);
|
||||||
|
|
|
@ -47,7 +47,6 @@ public:
|
||||||
mutable CCriticalSection cs_mapAddressBook;
|
mutable CCriticalSection cs_mapAddressBook;
|
||||||
|
|
||||||
std::vector<unsigned char> vchDefaultKey;
|
std::vector<unsigned char> vchDefaultKey;
|
||||||
CKey keyUser;
|
|
||||||
|
|
||||||
bool AddKey(const CKey& key);
|
bool AddKey(const CKey& key);
|
||||||
bool AddToWallet(const CWalletTx& wtxIn);
|
bool AddToWallet(const CWalletTx& wtxIn);
|
||||||
|
|
Loading…
Reference in a new issue