Commit Graph

99 Commits

Author SHA1 Message Date
Riccardo Casatta 106acdc3ac
Add fuzzing for Witness struct 2021-12-28 09:56:41 +01:00
Martin Habovstiak 0e1b99359c Added fuzz test for `Script::bytes_to_asm_fmt`
This adds fuzz target for `Script::bytes_to_asm_fmt` which could
panic due to overflow in the past. Fuzzing should decrease the risk of
other panics.
2021-09-30 15:06:18 +02:00
Matt Corallo 23ccc58d7b
Merge pull request #664 from RCasatta/fuzz_ci
Improve Fuzz CI
2021-09-29 23:47:08 +00:00
Andrew Poelstra 454379cdfa
Merge rust-bitcoin/rust-bitcoin#612: Fix `Uint256::increment` panics
5d71a9dd89 Correct input length check for uin128 fuzzer (Matt Corallo)
9c256cc88e Add a fuzz check for `Uint128::increment` (Matt Corallo)
a15f263c4e Move the `increment` fn into the uint macro to add it to Uint128 (Matt Corallo)
d52b88b525 Fix increment of Uint256 with carry (carolcapps)

Pull request description:

  This is #578 with review feedback addressed.

ACKs for top commit:
  apoelstra:
    ACK 5d71a9dd89
  sanket1729:
    ACK 5d71a9d

Tree-SHA512: 32e5ea6387943ecad8f190a0de336a545fda72b6ff7388d3479037a5f880434276a7d0607f5cf61710d45e984c01954f4e3199a60c542be48b397717afb3d406
2021-09-27 17:45:53 +00:00
Riccardo Casatta 200d5314bc
remove hfuzz input not used anymore 2021-09-24 11:51:40 +02:00
Martin Habovstiak a291fee23c Removed fuzztarget feature
It seems to be unused and when there's a need for it it's better to use
`--cfg fuzzing` as in `rust-secp256k1 ` and `bitcoin_hashes`.
2021-07-29 08:13:25 +02:00
Matt Corallo 5d71a9dd89 Correct input length check for uin128 fuzzer
In an earlier version of the uint128 fuzz target, there was a byte
which incidated the specific operation to test. However, that was
dropped for the much-more-effective approach of simply testing all
operations in each fuzz iteration.
2021-06-15 23:10:38 +00:00
Matt Corallo 9c256cc88e Add a fuzz check for `Uint128::increment` 2021-06-10 16:03:20 +00:00
Elichai Turkel efe1a55819
Use new inclusive range syntax 2020-10-08 17:08:51 +03:00
Andrew Poelstra c8633b5bce
Merge pull request #436 from LNP-BP/feat-u256u8
Big integers (Uint*) from byte slice array with `from_be_bytes`
2020-09-09 16:42:32 +00:00
Elichai Turkel a44ba2d878
Merge pull request #397 from stevenroose/script-iter
Improve the Instructions iterator for scripts
2020-09-09 19:06:05 +03:00
Dr Maxim Orlovsky 2fd353d5ab Big integers (Uint*) from byte slice array with `from_be_bytes` 2020-08-09 18:00:00 +02:00
Dr Maxim Orlovsky 19f88212af Fuzz tests for u128 modulo division 2020-07-21 14:54:56 +02:00
Matt Corallo 604f1aa56e Add fuzz target comparing native u128 to our Uint type 2020-04-30 19:22:49 -04:00
Steven Roose fea09a0a94
Improve the Instructions iterator for scripts
- Rename the `iter` method to `instructions`.
- Add `instructions_minimal` for minimal-enforced iteration.
- Iterator has `Result<Instruction, Error>` as items.
2020-04-11 23:52:26 +01:00
Kiminuo d8223bb73c Update travis-fuzz.sh to check that fuzz input file names are allowed on Windows systems 2019-12-08 16:42:43 +00:00
Kiminuo 1b617b8f54 Rename fuzz input file names to allow repo cloning on Windows [fixes #350] 2019-12-08 16:42:43 +00:00
Steven Roose 3c390ceb93
Add fuzzer for Address::from_script 2019-08-15 22:29:10 +01:00
Riccardo Casatta 7d6687451a use BTreeMap instead of HashMap to always serialize the same (#310)
* use BTreeMap instead of HashMap to always serialize the same

* fix rust 1.22 error

* psbt fuzz roundtrip

* psbt fuzz roundtrip on our ser
2019-08-09 17:03:12 +02:00
Andrew Poelstra abb9210c04 make `VarInt::len` and `Transaction::get_weight` return a usize 2019-07-11 17:14:05 +00:00
Steven Roose 30201f3924
Remove Decimal and replace strason with serde_json 2019-06-13 18:29:16 +01:00
Andrew Poelstra 5d7e6bb7a4
Merge pull request #272 from TheBlueMatt/2019-05-net-cleanups
Fix DoS in RawNetworkMessage Deserialization
2019-06-07 11:53:31 +00:00
Matt Corallo 0904935f19 Switch Travis fuzzing to 30 seconds per target from an iter count. 2019-06-07 07:11:21 -04:00
Andrew Poelstra a6c1eacd70
Merge pull request #270 from stevenroose/signed-amount
Add Amount and SignedAmount
2019-06-07 09:16:02 +00:00
Matt Corallo 1b2dc9d6b0 Rename deserialize_raw_network_message to make my afl scripts happy 2019-06-05 07:49:19 -04:00
Carl Dong 836fdce475 fuzz: Add fuzzer for RawNetworkMessage. 2019-06-05 07:49:19 -04:00
Steven Roose 7af134ce79
Add fuzz target for Amount parsing 2019-06-04 12:54:12 +01:00
Matt Corallo 2b6058e335 Decrease travis-fuzz iterations to fix hangs 2019-05-30 11:25:37 -04:00
Carl Dong f74ec3e187 Add fuzz testing for PartiallySignedTransaction 2019-02-28 11:11:55 -05:00
Andrew Poelstra 944c840460
Merge pull request #179 from apoelstra/2018-10-fuzz-outpoint
add fuzzer for transaction::OutPoint
2018-12-03 18:18:13 +00:00
Andrew Poelstra 8b6a40f96a add fuzzer for transaction::OutPoint 2018-10-18 23:14:23 +00:00
Andrew Poelstra 7f7013db9c fuzz: check that transaction deserialization roundtrips 2018-10-10 02:03:08 +00:00
Carl Dong 0f42ca69b0 Move relevant names into consensus::encode
- Move network::encodable::* to consensus::encode::*
- Rename Consensus{En,De}codable to {En,De}codable (now under
  consensus::encode)
- Move network::serialize::Error to consensus::encode::Error
- Remove Raw{En,De}coder, implement {En,De}coder for T: {Write,Read}
  instead
- Move network::serialize::Simple{En,De}coder to
  consensus::encode::{En,De}coder
- Rename util::Error::Serialize to util::Error::Encode
- Modify comments to refer to new names
- Modify files to refer to new names
- Expose {En,De}cod{able,er}, {de,}serialize, Params
- Do not return Result for serialize{,_hex} as serializing to a Vec
  should never fail
2018-09-25 21:19:35 +08:00
Matt Corallo ac11191f71 Upgrade AFL to 0.4 with persistent mode fuzzing 2018-09-06 16:58:38 -04:00
Matt Corallo 12d9e9803c Update fuzz seeds 2018-09-06 16:58:37 -04:00
Andrew Poelstra cef78d81af fuzz: check that script deserialization roundtrips 2018-08-24 20:31:50 +00:00
Andrew Poelstra fc0fec7e19 fuzz: add Script::iter tests to script deserialization test 2018-08-22 20:40:44 +00:00
Andrew Poelstra dbefaef25c
Merge pull request #142 from jeandudey/2018-08-decimal-fromstr
Implement `FromStr` for `UDecimal`/`Decimal`.
2018-08-22 19:00:02 +00:00
Jean Pierre Dudey be0d54738b Add fuzz tests for `Decimal`/`UDecimal` parsing.
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
2018-08-21 16:21:29 -04:00
Carl Dong e5b5cbfadb Fix Error type for SimpleDecoder and SimpleEncoder
- Separate serialize::Error and network::Error from util::Error
- Remove unneeded propagate_err and consume_err
- Change fuzzing code to ignore Err type
2018-08-21 01:58:40 -07:00
Matt Corallo 63765a2467 Check in good fuzzing starting points for current fuzz targets 2018-06-04 10:36:48 -04:00
Andrew Poelstra c1f024779f hfuzz: separate _workspace and _input directories, add workspace to .gitignore 2018-04-16 21:42:09 +00:00
Matt Corallo 49d7538452 Fix travis-fuzz upgrade handling 2018-04-16 21:42:09 +00:00
Matt Corallo 3793b2859a Add a Transaction.get_weight() method, check it in fuzzing 2018-04-02 12:23:05 -04:00
Matt Corallo 8ae711ce0f Check-in fuzzing inputs for deserialize_script.
These were generated by running afl with AFL_EXIT_WHEN_DONE,
10 billion iterations in honggfuzz, and then minimizing with
afl-cmin.
2018-03-21 18:44:10 -04:00
Matt Corallo 298ba23876 Add address serialization round-trip fuzzer 2018-03-21 18:44:10 -04:00
Matt Corallo 73fca023ae Set travis to do 1,000,000 hfuzz steps 2018-03-21 18:44:10 -04:00
Matt Corallo d445eaa8c3 Update fuzzers to match rust-lightning boilerplate 2018-03-21 17:14:41 -04:00
Daniel Lockyer 3cf1ccf8f8 Add fuzzing code 2017-06-07 09:19:25 +01:00