mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-14 12:43:40 +02:00
Resolves issue #922 - "wallet passphrase timeout of several years doesn't work"
2^31 milliseconds is only about 25 days. Also clamps Sleep() to 10 years, because it currently sleeps for 0 seconds when the sleep time would cross 2^31 seconds since the epoch. Hopefully boost will be fixed by 2028.
This commit is contained in:
parent
4585d828b4
commit
82a10c8170
2 changed files with 6 additions and 4 deletions
|
|
@ -1548,7 +1548,7 @@ void ThreadTopUpKeyPool(void* parg)
|
|||
|
||||
void ThreadCleanWalletPassphrase(void* parg)
|
||||
{
|
||||
int64 nMyWakeTime = GetTimeMillis() + *((int*)parg) * 1000;
|
||||
int64 nMyWakeTime = GetTimeMillis() + *((int64*)parg) * 1000;
|
||||
|
||||
ENTER_CRITICAL_SECTION(cs_nWalletUnlockTime);
|
||||
|
||||
|
|
@ -1584,7 +1584,7 @@ void ThreadCleanWalletPassphrase(void* parg)
|
|||
|
||||
LEAVE_CRITICAL_SECTION(cs_nWalletUnlockTime);
|
||||
|
||||
delete (int*)parg;
|
||||
delete (int64*)parg;
|
||||
}
|
||||
|
||||
Value walletpassphrase(const Array& params, bool fHelp)
|
||||
|
|
@ -1619,7 +1619,7 @@ Value walletpassphrase(const Array& params, bool fHelp)
|
|||
"Stores the wallet decryption key in memory for <timeout> seconds.");
|
||||
|
||||
CreateThread(ThreadTopUpKeyPool, NULL);
|
||||
int* pnSleepTime = new int(params[1].get_int());
|
||||
int64* pnSleepTime = new int64(params[1].get_int64());
|
||||
CreateThread(ThreadCleanWalletPassphrase, pnSleepTime);
|
||||
|
||||
return Value::null;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue