Files
bitcoin/src/test/fuzz
MarcoFalke a8fdfea77b Merge bitcoin/bitcoin#22791: init: Fix asmap/addrman initialization order bug
724c497562 [fuzz] Add ConsumeAsmap() function (John Newbery)
5840476714 [addrman] Make m_asmap private (John Newbery)
f9002cb5db [net] Rename the copyStats arg from m_asmap to asmap (John Newbery)
f572f2b204 [addrman] Set m_asmap in CAddrMan initializer list (John Newbery)
593247872d [net] Remove CConnMan::SetAsmap() (John Newbery)
50fd77045e [init] Read/decode asmap before constructing addrman (John Newbery)

Pull request description:

  Commit 181a1207 introduced an initialization order bug: CAddrMan's m_asmap must be set before deserializing peers.dat.

  The first commit restores the correct initialization order. The remaining commits make `CAddrMan::m_asmap` usage safer:

  - don't reach into `CAddrMan`'s internal data from `CConnMan`
  - set `m_asmap` in the initializer list and make it const
  - make `m_asmap` private, and access it (as a reference to const) from a getter.

  This ensures that peers.dat deserialization must happen after setting m_asmap, since m_asmap is set during CAddrMan construction.

ACKs for top commit:
  mzumsande:
    Tested ACK 724c497562
  amitiuttarwar:
    code review but utACK 724c497562
  naumenkogs:
    utACK 724c497562
  vasild:
    ACK 724c497562
  MarcoFalke:
    review ACK 724c497562 👫

Tree-SHA512: 684a4cf9e3d4496c9997fb2bc4ec874809987055c157ec3fad1d2143b8223df52b5a0af787d028930b27388c8efeba0aeb2446cb35c337a5552ae76112ade726
2021-09-06 12:41:36 +02:00
..
2021-08-27 11:01:45 +01:00
2020-12-10 07:15:42 +01:00
2021-03-15 17:26:35 -07:00
2020-12-10 07:15:42 +01:00
2020-12-10 07:15:42 +01:00
2020-12-10 07:15:42 +01:00
2020-12-10 07:15:42 +01:00
2020-12-10 07:15:42 +01:00
2020-12-10 07:15:42 +01:00
2020-12-10 07:15:42 +01:00
2020-12-10 07:15:42 +01:00
2020-12-10 07:15:42 +01:00
2020-12-10 07:15:42 +01:00
2020-12-10 07:15:42 +01:00
2021-03-11 13:45:14 +08:00
2020-12-10 07:15:42 +01:00
2020-12-10 07:15:42 +01:00
2020-12-10 07:15:42 +01:00
2021-04-09 13:17:37 +02:00
2020-12-10 07:15:42 +01:00
2021-05-11 21:24:49 +02:00
2020-12-10 07:15:42 +01:00
2020-12-10 07:15:42 +01:00