fanquake da494186f2
Merge bitcoin/bitcoin#27806: fuzz: Fix mini_miner_selection running out of coin
76c5ea703e77d580b6962e60398f4988cbd9b58b fuzz: Fix mini_miner_selection running out of coin (Murch)

Pull request description:

  Fixes a bug in the mini_miner_selection fuzz test found by fuzzing: It was possible for the mini_miner_selection fuzz test to generated transactions that created fewer new outputs than the two inputs they each spent. If the fuzz seed did so consistently, eventually it would cause a `pop_front()` on an empty available_coins which resulted in undefined behavior.

  Fixed per belt-suspender approach:
  - assert that available_coins is not empty before generating tx
  - generate at least two coins per new tx
  - allow building tx with a single input if only one coin is available

ACKs for top commit:
  MarcoFalke:
    lgtm ACK 76c5ea703e77d580b6962e60398f4988cbd9b58b
  dergoegge:
    reACK 76c5ea703e77d580b6962e60398f4988cbd9b58b

Tree-SHA512: 5b7ffd1905a712733ad5364958ad79874dd8c31bd50069b0d3e6f734da0f2d496cb08cbe0afa47115674313e1cb7166a6087f2ccbce289774caddc790583e241
2023-06-13 17:08:07 +01:00
..
2021-12-30 19:36:57 +02:00
2023-04-05 11:43:42 +01:00
2023-03-23 19:38:38 +01:00
2023-01-26 10:44:05 +01:00
2022-12-24 23:49:50 +00:00
2023-01-26 10:44:05 +01:00
2023-01-26 10:44:05 +01:00
2022-12-24 23:49:50 +00:00