aboutsummaryrefslogtreecommitdiff
path: root/src/blockfilter.h
diff options
context:
space:
mode:
authorstickies-v <stickies-v@protonmail.com>2022-08-31 14:34:53 +0100
committerstickies-v <stickies-v@protonmail.com>2022-08-31 16:51:32 +0100
commit89576ccc572fcaf9fb7117ad6124482cc95fbd9f (patch)
treed8dd332553dba8afac19021307a193dd55de0139 /src/blockfilter.h
parent83434208035fda9c2b50df7b9f3ede896797cf04 (diff)
downloadbitcoin-89576ccc572fcaf9fb7117ad6124482cc95fbd9f.tar.xz
refactor: add LIFETIMEBOUND to blockfilter where needed
Ensure that the return values do not have a lifetime that exceeds the lifetime of what it is bound to. See https://github.com/bitcoin/bitcoin/blob/master/doc/developer-notes.md#lifetimebound
Diffstat (limited to 'src/blockfilter.h')
-rw-r--r--src/blockfilter.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/blockfilter.h b/src/blockfilter.h
index d6a51e95c2..0cb627d9df 100644
--- a/src/blockfilter.h
+++ b/src/blockfilter.h
@@ -11,6 +11,7 @@
#include <unordered_set>
#include <vector>
+#include <attributes.h>
#include <primitives/block.h>
#include <serialize.h>
#include <uint256.h>
@@ -65,8 +66,8 @@ public:
GCSFilter(const Params& params, const ElementSet& elements);
uint32_t GetN() const { return m_N; }
- const Params& GetParams() const { return m_params; }
- const std::vector<unsigned char>& GetEncoded() const { return m_encoded; }
+ const Params& GetParams() const LIFETIMEBOUND { return m_params; }
+ const std::vector<unsigned char>& GetEncoded() const LIFETIMEBOUND { return m_encoded; }
/**
* Checks if the element may be in the set. False positives are possible
@@ -128,10 +129,10 @@ public:
BlockFilter(BlockFilterType filter_type, const CBlock& block, const CBlockUndo& block_undo);
BlockFilterType GetFilterType() const { return m_filter_type; }
- const uint256& GetBlockHash() const { return m_block_hash; }
- const GCSFilter& GetFilter() const { return m_filter; }
+ const uint256& GetBlockHash() const LIFETIMEBOUND { return m_block_hash; }
+ const GCSFilter& GetFilter() const LIFETIMEBOUND { return m_filter; }
- const std::vector<unsigned char>& GetEncodedFilter() const
+ const std::vector<unsigned char>& GetEncodedFilter() const LIFETIMEBOUND
{
return m_filter.GetEncoded();
}