Skip to content

Conversation

practicalswift
Copy link
Contributor

Add fuzzing harness for various CScript related functions.

Testing this PR

Run:

$ CC=clang CXX=clang++ ./configure --enable-fuzz --with-sanitizers=address,fuzzer,undefined
$ make
$ src/test/fuzz/script
…
# And to to quickly verify that the relevant code regions are triggered, that the
# fuzzing throughput seems reasonable, etc.
$ contrib/devtools/test_fuzzing_harnesses.sh '^script$'

test_fuzzing_harnesses.sh can be found in PR #17000.

@fanquake fanquake added the Tests label Oct 9, 2019
@DrahtBot
Copy link
Contributor

DrahtBot commented Oct 9, 2019

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #17225 (tests: Test serialisation as part of deserialisation fuzzing. Test round-trip equality where possible. by practicalswift)
  • #17136 (tests: Add fuzzing harness for various PSBT related functions by practicalswift)
  • #17051 (tests: Add deserialization fuzzing harnesses by practicalswift)
  • #17050 (tests: Add fuzzing harnesses for functions parsing scripts, numbers, JSON and HD keypaths (bip32) by practicalswift)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

Copy link
Member

@maflcko maflcko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK b6de958

Show signature and timestamp

Signature:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

ACK b6de95843982f7bf450fd03f8d71577a6f24d1db
-----BEGIN PGP SIGNATURE-----

iQGzBAEBCgAdFiEE+rVPoUahrI9sLGYTzit1aX5ppUgFAlwqrYAACgkQzit1aX5p
pUgkvgwAiGdaNmf4ABeRBuPLcEFRJ285f2hJg8Wf8Gcmwop6ExPT0Sue4eN+VRYc
t9Zlm6ZEZqyK6chPafijQ9nrbHsFUEbibCUT9hZ7FJgSoWOxh7ahyPaN00HXjucV
bFBVLUfdJ/N3F3in2XFFiWuK2KAHkRCnf642FmeZ0uM0QVvjOdYJzB51JZaXbRrJ
h8sRqGL6+Wd/m2lADT0454rkUYpkrvqfN7K2Y9M7yY8Ey7VmFR9Jpp8mcQeEWiEp
BmZ4MwBg9xpzX2DnxDuT/ajja8kzgv2VeY/M3jbAB/BYpeikuutlUUeoydTs/aZ7
8L6oOsxOP99vL2Aq1CWOb8m8g5S2IMmS6c0xWXwvrjWEXPDNo+FlfaYbBI6P9wJS
9w8xfzxQd+/CXB3nLAr5ImNnOz2Qft6kCeqxOWGDWV7Rd87VT/UYjOJkuPienzsl
Y4fq9mvlGjaUJbtSf3JHD+S5e2DnCTxAkiqzXqrGW8gMkw4uY+KxcUMhPvjqvfCL
Pou3ZL9B
=sD4t
-----END PGP SIGNATURE-----

Timestamp of file with hash 7b53754fa9e50b769d383a78f34b54a3e8ff4ddd3b902ddcb99121307e7f81e6 -

@practicalswift practicalswift force-pushed the fuzzers-script branch 2 times, most recently from ddf080c to fe2118f Compare October 25, 2019 08:21
@practicalswift
Copy link
Contributor Author

practicalswift commented Oct 25, 2019

Rebased and added ECCVerifyHandle initialization.

maflcko pushed a commit that referenced this pull request Oct 25, 2019
…functions

dc2fdb9 tests: Add fuzzing harness for various CScript related functions (practicalswift)

Pull request description:

  Add fuzzing harness for various `CScript` related functions.

  **Testing this PR**

  Run:

  ```
  $ CC=clang CXX=clang++ ./configure --enable-fuzz --with-sanitizers=address,fuzzer,undefined
  $ make
  $ src/test/fuzz/script
  …
  # And to to quickly verify that the relevant code regions are triggered, that the
  # fuzzing throughput seems reasonable, etc.
  $ contrib/devtools/test_fuzzing_harnesses.sh '^script$'
  ```

  `test_fuzzing_harnesses.sh` can be found in PR #17000.

Top commit has no ACKs.

Tree-SHA512: a0c5dca3b64ae177020b2ca299a29015d70755231b6bf01edbfc67c8aac90c44b1b4d57350c3aebef6e031108e6ae8e5fa0987c67707831c314f5d3090e0cee8
@maflcko maflcko merged commit dc2fdb9 into bitcoin:master Oct 25, 2019
jasonbcox pushed a commit to Bitcoin-ABC/bitcoin-abc that referenced this pull request Jul 13, 2020
…ed functions

Summary:
dc2fdb99072b87d34620084b82a494a5e698c279 tests: Add fuzzing harness for various CScript related functions (practicalswift)

Pull request description:

  Add fuzzing harness for various `CScript` related functions.

  **Testing this PR**

  Run:

  ```
  $ CC=clang CXX=clang++ ./configure --enable-fuzz --with-sanitizers=address,fuzzer,undefined
  $ make
  $ src/test/fuzz/script
  …
  # And to to quickly verify that the relevant code regions are triggered, that the
  # fuzzing throughput seems reasonable, etc.
  $ contrib/devtools/test_fuzzing_harnesses.sh '^script$'
  ```

  `test_fuzzing_harnesses.sh` can be found in PR #17000.

---

Backport of Core [[bitcoin/bitcoin#17083 | PR17083]]

Test Plan:
  cmake -GNinja .. -DENABLE_SANITIZERS="address;fuzzer" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
  ninja bitcoin-fuzzers
  ./src/test/fuzz/script

Reviewers: #bitcoin_abc, deadalnix

Reviewed By: #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D6896
@practicalswift practicalswift deleted the fuzzers-script branch April 10, 2021 19:39
kwvg added a commit to kwvg/dash that referenced this pull request Feb 27, 2022
kwvg added a commit to kwvg/dash that referenced this pull request Feb 27, 2022
kwvg added a commit to kwvg/dash that referenced this pull request Feb 28, 2022
kwvg added a commit to kwvg/dash that referenced this pull request Feb 28, 2022
kwvg added a commit to kwvg/dash that referenced this pull request Feb 28, 2022
kwvg added a commit to kwvg/dash that referenced this pull request Mar 13, 2022
kwvg added a commit to kwvg/dash that referenced this pull request Mar 24, 2022
vijaydasmp pushed a commit to vijaydasmp/dash that referenced this pull request Mar 26, 2022
…elated functions

dc2fdb9 tests: Add fuzzing harness for various CScript related functions (practicalswift)

Pull request description:

  Add fuzzing harness for various `CScript` related functions.

  **Testing this PR**

  Run:

  ```
  $ CC=clang CXX=clang++ ./configure --enable-fuzz --with-sanitizers=address,fuzzer,undefined
  $ make
  $ src/test/fuzz/script
  …
  # And to to quickly verify that the relevant code regions are triggered, that the
  # fuzzing throughput seems reasonable, etc.
  $ contrib/devtools/test_fuzzing_harnesses.sh '^script$'
  ```

  `test_fuzzing_harnesses.sh` can be found in PR bitcoin#17000.

Top commit has no ACKs.

Tree-SHA512: a0c5dca3b64ae177020b2ca299a29015d70755231b6bf01edbfc67c8aac90c44b1b4d57350c3aebef6e031108e6ae8e5fa0987c67707831c314f5d3090e0cee8
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Aug 18, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants