Merge #10819: Fix uninitialized atomic variables

465279114 Fix uninitialized atomic variables (João Barbosa)

Tree-SHA512: 5dd8924bc8743a094abdbc2464b835a0e7fd4948c102ea7c2251c6330bea5615c4459ba322a656fd6ac5f8d695b69d3709d225ddccef226cf8afc7de5e3d3019
This commit is contained in:
Pieter Wuille 2017-07-14 14:33:10 -07:00
commit b7d6623c76
No known key found for this signature in database
GPG Key ID: A636E97631F767E0
3 changed files with 4 additions and 4 deletions

View File

@ -563,7 +563,7 @@ static bool ConnectThroughProxy(const proxyType &proxy, const std::string& strDe
// do socks negotiation // do socks negotiation
if (proxy.randomize_credentials) { if (proxy.randomize_credentials) {
ProxyCredentials random_auth; ProxyCredentials random_auth;
static std::atomic_int counter; static std::atomic_int counter(0);
random_auth.username = random_auth.password = strprintf("%i", counter++); random_auth.username = random_auth.password = strprintf("%i", counter++);
if (!Socks5(strDest, (unsigned short)port, &random_auth, hSocket)) if (!Socks5(strDest, (unsigned short)port, &random_auth, hSocket))
return false; return false;

View File

@ -95,13 +95,13 @@ class CWalletDBWrapper
friend class CDB; friend class CDB;
public: public:
/** Create dummy DB handle */ /** Create dummy DB handle */
CWalletDBWrapper() : nLastSeen(0), nLastFlushed(0), nLastWalletUpdate(0), env(nullptr) CWalletDBWrapper() : nUpdateCounter(0), nLastSeen(0), nLastFlushed(0), nLastWalletUpdate(0), env(nullptr)
{ {
} }
/** Create DB handle to real database */ /** Create DB handle to real database */
CWalletDBWrapper(CDBEnv *env_in, const std::string &strFile_in) : CWalletDBWrapper(CDBEnv *env_in, const std::string &strFile_in) :
nLastSeen(0), nLastFlushed(0), nLastWalletUpdate(0), env(env_in), strFile(strFile_in) nUpdateCounter(0), nLastSeen(0), nLastFlushed(0), nLastWalletUpdate(0), env(env_in), strFile(strFile_in)
{ {
} }

View File

@ -747,7 +747,7 @@ DBErrors CWalletDB::ZapWalletTx(std::vector<CWalletTx>& vWtx)
void MaybeCompactWalletDB() void MaybeCompactWalletDB()
{ {
static std::atomic<bool> fOneThread; static std::atomic<bool> fOneThread(false);
if (fOneThread.exchange(true)) { if (fOneThread.exchange(true)) {
return; return;
} }