diff --git a/src/bench/base58.cpp b/src/bench/base58.cpp index 8f6d07ac166d4..2d9a9f29087e7 100644 --- a/src/bench/base58.cpp +++ b/src/bench/base58.cpp @@ -22,7 +22,7 @@ static void Base58Encode(benchmark::State& state) } }; while (state.KeepRunning()) { - EncodeBase58(buff.begin(), buff.end()); + EncodeBase58(buff.data(), buff.data() + buff.size()); } } diff --git a/src/bench/checkqueue.cpp b/src/bench/checkqueue.cpp index 7e63e820db1e7..35750aa1b69f2 100644 --- a/src/bench/checkqueue.cpp +++ b/src/bench/checkqueue.cpp @@ -19,7 +19,7 @@ static const int MIN_CORES = 2; static const size_t BATCHES = 101; static const size_t BATCH_SIZE = 30; static const int PREVECTOR_SIZE = 28; -static const int QUEUE_BATCH_SIZE = 128; +static const unsigned int QUEUE_BATCH_SIZE = 128; static void CCheckQueueSpeed(benchmark::State& state) { struct FakeJobNoWork { diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 079bf1b1f729b..69a6ca4c2c07b 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -429,9 +429,9 @@ class CMainParams : public CChainParams { nStakeMinAge = 24 * 60 * 60; // 24 hours - checkpointData = (CCheckpointData) { + checkpointData = { { - {0, uint256S("0x000006cf010a54f22305095939df01cc5d7a2ecd208e1e353259a75cd99f58b4")}, + {0, uint256S("0x00000ce07df018e65e003f4d097cf026db99bcd493d6c4d07f0b47edf6534a26")}, } }; @@ -594,9 +594,9 @@ class CTestNetParams : public CChainParams { nStakeMinAge = 24 * 60 * 60; // 24 hours - checkpointData = (CCheckpointData) { + checkpointData = { { - {0, uint256S("0x00000d08a9828c9e2c4c95996e1a3895e24de49d0b62ef595486a428d727cede")}, + {0, uint256S("0x0000030f02c1f2473c1b3d7988b7d83a5e2cde4b2b69fe1612befdcbcb8eb70f")}, } }; @@ -758,7 +758,7 @@ class CDevNetParams : public CChainParams { nStakeMinAge = 24 * 60 * 60; // 24 hours - checkpointData = (CCheckpointData) { + checkpointData = { { { 1, devnetGenesis.GetHash() }, } @@ -879,9 +879,9 @@ class CRegTestParams : public CChainParams { nStakeMinAge = 24 * 60 * 60; // 24 hours - checkpointData = (CCheckpointData) { + checkpointData = { { - {0, uint256S("0x00000d204dc7f3c855835549afbf59d8002502ae2b56bc46826ca41b7bfc5651")}, + {0, uint256S("0x02fc1e7262651eb1027ef489dae355c0ca063bc4832ca4b6d41d18216268835c")}, } }; diff --git a/src/compat.h b/src/compat.h index 0494fe89f14ab..8b1037e1aa0de 100644 --- a/src/compat.h +++ b/src/compat.h @@ -41,6 +41,7 @@ #include #include #include +#include #else #include #include @@ -81,6 +82,15 @@ typedef unsigned int SOCKET; #else #define MAX_PATH 1024 #endif +#ifdef _MSC_VER +#if !defined(ssize_t) +#ifdef _WIN64 +typedef int64_t ssize_t; +#else +typedef int32_t ssize_t; +#endif +#endif +#endif #if HAVE_DECL_STRNLEN == 0 size_t strnlen( const char *start, size_t max_len); diff --git a/src/net_processing.cpp b/src/net_processing.cpp index ec9871f0f46ca..4ce91e57df6cf 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -63,7 +63,7 @@ std::atomic nTimeBestReceived(0); // Used only to inform the wallet of struct IteratorComparator { template - bool operator()(const I& a, const I& b) + bool operator()(const I& a, const I& b) const { return &(*a) < &(*b); } diff --git a/src/random.h b/src/random.h index e1e0be82a0729..ff009047a1c4d 100644 --- a/src/random.h +++ b/src/random.h @@ -138,7 +138,7 @@ class FastRandomContext { * sure that the underlying OS APIs for all platforms support the number. * (many cap out at 256 bytes). */ -static const ssize_t NUM_OS_RANDOM_BYTES = 32; +static const int NUM_OS_RANDOM_BYTES = 32; /** Get 32 bytes of system entropy. Do not use this in application code: use * GetStrongRandBytes instead. diff --git a/src/support/cleanse.cpp b/src/support/cleanse.cpp index 82cdfe707bb2a..8d3c7369b4950 100644 --- a/src/support/cleanse.cpp +++ b/src/support/cleanse.cpp @@ -7,6 +7,10 @@ #include +#if defined(_MSC_VER) +#include // For SecureZeroMemory. +#endif + /* Compilers have a bad habit of removing "superfluous" memset calls that * are trying to zero memory. For example, when memset()ing a buffer and * then free()ing it, the compiler might decide that the memset is @@ -32,7 +36,7 @@ void memory_cleanse(void *ptr, size_t len) might try to eliminate "superfluous" memsets. If there's an easy way to detect memset_s, it would be better to use that. */ #if defined(_MSC_VER) - __asm; + SecureZeroMemory(ptr, len); #else __asm__ __volatile__("" : : "r"(ptr) : "memory"); #endif diff --git a/src/test/checkqueue_tests.cpp b/src/test/checkqueue_tests.cpp index 64e14b8c6609e..81dde1c2b8587 100644 --- a/src/test/checkqueue_tests.cpp +++ b/src/test/checkqueue_tests.cpp @@ -24,7 +24,7 @@ // otherwise. BOOST_FIXTURE_TEST_SUITE(checkqueue_tests, TestingSetup) -static const int QUEUE_BATCH_SIZE = 128; +static const unsigned int QUEUE_BATCH_SIZE = 128; struct FakeCheck { bool operator()()