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
..
2023-05-30 11:39:59 -04:00
2023-05-30 17:26:51 +02:00
2023-04-03 14:44:48 +01:00
2023-06-12 19:47:19 +01:00
2022-08-13 13:55:38 +01:00
2023-05-04 20:58:01 +01:00
2023-06-08 16:38:36 -03:00
2023-04-19 10:48:30 +02:00
2023-06-12 12:54:49 -04:00
2023-05-20 12:08:13 +02:00
2023-06-12 19:47:19 +01:00
2022-09-29 16:43:30 +01:00
2023-01-31 18:48:50 +01:00
2022-10-23 15:03:04 +01:00
2023-06-12 12:54:49 -04:00
2023-06-12 19:47:19 +01:00
2022-12-24 23:49:50 +00:00
2023-06-12 12:54:49 -04:00
2023-06-07 03:29:05 -04:00
2023-05-20 12:08:13 +02:00
2023-04-14 10:35:51 -04:00
2023-03-23 19:38:38 +01:00
2023-06-13 17:08:07 +01:00
2023-06-02 16:18:11 +01:00
2023-05-30 17:26:47 +02:00
2023-06-12 16:53:16 +01:00
2023-05-26 13:41:07 -03:00
2023-03-26 20:18:13 +01:00
2023-05-30 17:26:51 +02:00
2023-05-29 13:26:31 +02:00
2023-03-17 17:59:02 -07:00
2023-03-17 17:59:02 -07:00
2023-03-17 18:02:40 -07:00
2022-12-24 23:49:50 +00:00
2023-02-01 11:33:35 +01:00
2023-05-04 20:57:51 +01:00
2023-05-20 12:08:13 +02:00
2023-03-23 12:55:18 +01:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2023-05-30 17:15:22 +02:00
2023-05-20 12:08:13 +02:00
2023-05-20 12:08:13 +02:00
2023-05-20 12:08:13 +02:00
2023-05-20 12:08:13 +02:00
2023-06-10 11:10:29 -03:00
2023-05-20 12:08:13 +02:00
2023-02-15 14:42:28 -08:00
2023-01-31 19:34:35 +01:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2023-01-05 09:05:14 +00:00
2023-05-25 19:24:05 +02:00
2023-05-25 19:24:05 +02:00
2023-05-10 10:39:58 +02:00
2023-05-10 10:39:58 +02:00
2023-04-20 06:08:22 -07:00
2023-03-21 13:04:21 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2023-03-23 19:38:38 +01:00
2023-03-23 19:38:38 +01:00
2023-02-03 18:15:42 +01:00
2023-01-26 10:44:05 +01:00
2023-05-20 12:08:13 +02:00
2023-01-31 11:50:10 +00:00
2023-03-23 12:55:18 +01:00
2023-03-23 12:55:18 +01:00
2023-03-15 16:42:42 +01:00
2023-03-15 16:42:42 +01:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2023-04-19 10:48:30 +02:00
2023-05-09 18:48:52 +02:00
2023-05-20 12:08:13 +02:00
2023-03-23 12:52:00 +01:00
2023-04-03 14:41:22 +01:00
2022-12-24 23:49:50 +00:00
2023-01-30 15:57:12 +00:00
2022-12-12 21:06:04 +00:00
2022-12-12 21:06:04 +00:00
2023-05-09 18:47:14 +02:00
2023-05-26 13:41:07 -03:00
2022-12-24 23:49:50 +00:00
2023-05-20 12:08:13 +02:00
2023-03-23 12:55:18 +01:00
2023-06-09 17:52:23 -03:00
2023-06-09 17:52:23 -03:00
2023-05-25 06:30:10 +00:00
2023-01-31 19:34:35 +01:00
2023-01-31 11:50:10 +00:00
2023-04-05 11:50:27 +01:00
2023-03-23 12:55:18 +01:00
2023-05-30 17:26:47 +02:00
2023-05-05 06:03:14 -06:00
2022-06-23 15:33:01 +02:00
2022-07-21 10:42:09 +01:00
2023-02-27 13:53:29 +00:00
2023-02-03 22:33:14 +01:00
2022-09-13 17:15:17 +01:00
2022-11-17 14:52:45 +00:00
2023-03-23 19:38:38 +01:00
2023-05-19 10:26:19 -04:00
2023-05-30 11:39:59 -04:00
2023-01-28 15:24:13 +00:00
2023-03-23 19:38:38 +01:00
2023-05-30 11:39:59 -04:00
2022-12-24 23:49:50 +00:00
2023-06-08 11:52:30 +02:00
2023-05-23 13:07:49 -04:00
2022-12-24 23:49:50 +00:00
2023-06-09 14:21:19 -04:00
2023-05-23 13:07:49 -04:00
2023-02-17 13:34:40 -05:00
2023-02-17 13:34:40 -05:00
2023-05-26 13:41:07 -03:00
2023-05-26 13:41:07 -03:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2023-04-16 23:48:05 +02:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2023-05-20 12:08:13 +02:00
2023-05-15 10:18:58 +02:00
2023-04-21 14:06:12 -04:00
2023-04-21 14:06:12 -04:00
2023-01-13 09:40:57 +00:00
2023-01-13 09:40:57 +00:00
2023-05-20 17:20:01 +01:00
2023-02-15 14:58:47 +00:00
2023-04-03 14:44:48 +01:00
2023-06-12 10:24:14 -03:00
2023-01-12 13:42:44 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2023-01-31 11:50:10 +00:00
2023-06-09 17:52:23 -03:00
2023-06-09 17:52:23 -03:00
2023-05-20 12:08:13 +02:00
2023-01-31 11:50:10 +00:00
2023-06-01 10:27:33 -04:00
2023-01-25 09:33:26 +01:00
2023-04-19 10:48:30 +02:00
2022-12-24 23:49:50 +00:00
2023-01-31 11:50:10 +00:00
2023-05-26 13:40:02 -03:00
2023-03-23 12:55:18 +01:00
2023-05-24 08:55:47 -04:00
2023-05-29 13:26:31 +02:00
2023-06-12 19:48:47 +01:00
2023-06-12 19:47:19 +01:00
2023-01-26 10:36:18 +00:00
2023-01-26 10:36:18 +00:00
2023-05-31 15:43:01 +01:00
2022-12-10 14:34:44 -06:00
2023-02-06 13:56:51 -05:00
2023-06-12 13:20:18 +01:00
2023-06-12 13:20:18 +01:00
2023-02-01 11:33:35 +01:00
2023-01-05 09:05:14 +00:00
2023-05-15 10:18:58 +02:00
2023-01-03 19:31:29 -06:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2023-05-20 12:08:13 +02:00