diff options
author | fanquake <fanquake@gmail.com> | 2022-12-19 09:34:34 +0000 |
---|---|---|
committer | fanquake <fanquake@gmail.com> | 2022-12-19 09:34:39 +0000 |
commit | 65f5cfda656c150dd0df40369845c53fa387b25f (patch) | |
tree | b4cd56ffcf6374d88238affa760668d45feb68c1 /src/test/fuzz/validation_load_mempool.cpp | |
parent | bd13d6b36921271bd11f4f207360376903a0fae9 (diff) | |
parent | 36c201feb74bbb87d22bd956373dbbb9c47fb7e7 (diff) |
Merge bitcoin/bitcoin#25311: refactor: remove CBlockIndex copy construction
36c201feb74bbb87d22bd956373dbbb9c47fb7e7 remove CBlockIndex copy construction (James O'Beirne)
Pull request description:
Copy construction of CBlockIndex objects is a footgun because of the
wide use of equality-by-pointer comparison in the code base. There are
also potential lifetime confusions of using copied instances, since
there are recursive pointer members (e.g. pprev).
(See also https://github.com/bitcoin/bitcoin/pull/24008#discussion_r891949166)
We can't just delete the copy constructors because they are used for
derived classes (CDiskBlockIndex), so we mark them protected.
ACKs for top commit:
ajtowns:
ACK 36c201feb74bbb87d22bd956373dbbb9c47fb7e7 - code review only
MarcoFalke:
re-ACK 36c201feb74bbb87d22bd956373dbbb9c47fb7e7 🏻
Tree-SHA512: b1cf9a1cb992464a4377dad609713eea63cc099435df374e4553bfe62d362a4eb5e3c6c6649177832f38c0905b23841caf9d62196cef8e3084bfea0bfc26374b
Diffstat (limited to 'src/test/fuzz/validation_load_mempool.cpp')
0 files changed, 0 insertions, 0 deletions