mirror of
https://github.com/dashpay/dash.git
synced 2024-12-26 04:22:55 +01:00
Merge #15532: Remove sharp edge (uninit member) when using the compiler-generated ctor for BlockFilter
82c3b3f8e07f0572327275841333256fa3e679e3 Remove sharp edge (uninitialized m_filter_type) when using the compiler-generated constructor for BlockFilter (practicalswift) Pull request description: Remove sharp edge (uninitialised member `m_filter_type`) when using the compiler-generated constructor for `BlockFilter`. Before (but after added test): ``` $ src/test/test_bitcoin -t blockfilter_tests/blockfilter_basic_test Running 1 test case... test/blockfilter_tests.cpp(118): error: in "blockfilter_tests/blockfilter_basic_test": check default_ctor_block_filter_1.GetFilterType() == default_ctor_block_filter_2.GetFilterType() has failed [ != ] *** 1 failure is detected in the test module "Bitcoin Test Suite" ``` After: ``` $ src/test/test_bitcoin -t blockfilter_tests/blockfilter_basic_test Running 1 test case... *** No errors detected ``` Tree-SHA512: 21d41f036b0bf12adcf1a788d84747353f2023cb85fd8ea6c97222967032e8bf54e7910cadb45dfcecd78e5b5dca86685f78cad0596b6d1a08f910ebf20d90aa
This commit is contained in:
parent
5fb15a98aa
commit
52318c950f
@ -309,6 +309,8 @@ bool BlockFilter::BuildParams(GCSFilter::Params& params) const
|
|||||||
params.m_P = BASIC_FILTER_P;
|
params.m_P = BASIC_FILTER_P;
|
||||||
params.m_M = BASIC_FILTER_M;
|
params.m_M = BASIC_FILTER_M;
|
||||||
return true;
|
return true;
|
||||||
|
case BlockFilterType::INVALID:
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
@ -85,9 +85,10 @@ public:
|
|||||||
constexpr uint8_t BASIC_FILTER_P = 19;
|
constexpr uint8_t BASIC_FILTER_P = 19;
|
||||||
constexpr uint32_t BASIC_FILTER_M = 784931;
|
constexpr uint32_t BASIC_FILTER_M = 784931;
|
||||||
|
|
||||||
enum BlockFilterType : uint8_t
|
enum class BlockFilterType : uint8_t
|
||||||
{
|
{
|
||||||
BASIC_FILTER = 0,
|
BASIC_FILTER = 0,
|
||||||
|
INVALID = 255,
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Get the human-readable name for a filter type. Returns empty string for unknown types. */
|
/** Get the human-readable name for a filter type. Returns empty string for unknown types. */
|
||||||
@ -109,7 +110,7 @@ const std::string& ListBlockFilterTypes();
|
|||||||
class BlockFilter
|
class BlockFilter
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
BlockFilterType m_filter_type;
|
BlockFilterType m_filter_type = BlockFilterType::INVALID;
|
||||||
uint256 m_block_hash;
|
uint256 m_block_hash;
|
||||||
GCSFilter m_filter;
|
GCSFilter m_filter;
|
||||||
|
|
||||||
|
@ -117,6 +117,12 @@ BOOST_AUTO_TEST_CASE(blockfilter_basic_test)
|
|||||||
BOOST_CHECK_EQUAL(block_filter.GetFilterType(), block_filter2.GetFilterType());
|
BOOST_CHECK_EQUAL(block_filter.GetFilterType(), block_filter2.GetFilterType());
|
||||||
BOOST_CHECK_EQUAL(block_filter.GetBlockHash(), block_filter2.GetBlockHash());
|
BOOST_CHECK_EQUAL(block_filter.GetBlockHash(), block_filter2.GetBlockHash());
|
||||||
BOOST_CHECK(block_filter.GetEncodedFilter() == block_filter2.GetEncodedFilter());
|
BOOST_CHECK(block_filter.GetEncodedFilter() == block_filter2.GetEncodedFilter());
|
||||||
|
|
||||||
|
BlockFilter default_ctor_block_filter_1;
|
||||||
|
BlockFilter default_ctor_block_filter_2;
|
||||||
|
BOOST_CHECK_EQUAL(default_ctor_block_filter_1.GetFilterType(), default_ctor_block_filter_2.GetFilterType());
|
||||||
|
BOOST_CHECK_EQUAL(default_ctor_block_filter_1.GetBlockHash(), default_ctor_block_filter_2.GetBlockHash());
|
||||||
|
BOOST_CHECK(default_ctor_block_filter_1.GetEncodedFilter() == default_ctor_block_filter_2.GetEncodedFilter());
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(blockfilters_json_test)
|
BOOST_AUTO_TEST_CASE(blockfilters_json_test)
|
||||||
|
Loading…
Reference in New Issue
Block a user