Skip to content

Conversation

@vah13
Copy link
Owner

@vah13 vah13 commented Nov 17, 2025

Summary

  • Added fuzzing infrastructure for cpp-libp2p library
  • Includes 6 fuzzers targeting different components: multiaddress parsing, multibase decoding, multihash parsing, multiselect parser, and message read/write operations
  • Configured build scripts and Dockerfile for OSS-Fuzz integration

Fuzzers included

  • multiaddress_parse_fuzzer.cc - Tests multiaddress parsing functionality
  • multibase_decode_fuzzer.cc - Tests multibase decoding
  • multihash_parse_fuzzer.cc - Tests multihash parsing
  • multiselect_parser_fuzzer.cc - Tests multiselect protocol parser
  • message_read_writer_bigendian_read_len_fuzzer.cc - Tests message reader with bigendian length
  • message_read_writer_bigendian_write_uaf_fuzzer.cc - Tests message writer for UAF bugs

@vah13 vah13 merged commit 14a4d4d into master Nov 17, 2025
vah13 pushed a commit that referenced this pull request Nov 20, 2025
```
python3 infra/experimental/chronos/manager.py check-tests --integrity-check shaderc
...
[0/1] Running tests...
Test project /src/shaderc/build
      Start  1: glslang-testsuite
      Start  2: glslang-gtests
      Start  3: shaderc_util_counting_includer
      Start  4: shaderc_util_string_piece
      Start  5: shaderc_util_format
      Start  6: shaderc_util_file_finder
      Start  7: shaderc_util_io_shaderc
      Start  8: shaderc_util_message
      Start  9: shaderc_util_mutex
      Start 10: shaderc_util_version_profile
      Start 11: shaderc_util_compiler
      Start 12: shaderc_shaderc
      Start 13: shaderc_shaderc_cpp
      Start 14: shaderc_shaderc_private
      Start 15: shaderc_shared_shaderc
      Start 16: shaderc_shared_shaderc_cpp
      Start 17: shaderc_shared_shaderc_private
      Start 18: shaderc_combined_shaderc
      Start 19: shaderc_combined_shaderc_cpp
      Start 20: shaderc_c_smoke_test
      Start 21: glslc_file
      Start 22: glslc_resource_parse
      Start 23: glslc_stage
      Start 24: shaderc_expect_unittests
      Start 25: shaderc_glslc_test_framework_unittests
      Start 26: glslc_tests
 1/26 Test  google#3: shaderc_util_counting_includer ...........   Passed    0.03 sec
 2/26 Test  google#4: shaderc_util_string_piece ................   Passed    0.03 sec
 3/26 Test  google#5: shaderc_util_format ......................   Passed    0.03 sec
 4/26 Test  google#6: shaderc_util_file_finder .................   Passed    0.03 sec
 5/26 Test  google#8: shaderc_util_message .....................   Passed    0.03 sec
 6/26 Test  google#9: shaderc_util_mutex .......................   Passed    0.03 sec
 7/26 Test  google#7: shaderc_util_io_shaderc ..................   Passed    0.03 sec
 8/26 Test google#14: shaderc_shaderc_private ..................   Passed    0.03 sec
 9/26 Test google#10: shaderc_util_version_profile .............   Passed    0.03 sec
10/26 Test google#21: glslc_file ...............................   Passed    0.02 sec
11/26 Test google#23: glslc_stage ..............................   Passed    0.02 sec
12/26 Test google#22: glslc_resource_parse .....................   Passed    0.02 sec
13/26 Test google#17: shaderc_shared_shaderc_private ...........   Passed    0.04 sec
14/26 Test google#25: shaderc_glslc_test_framework_unittests ...   Passed    0.11 sec
15/26 Test google#24: shaderc_expect_unittests .................   Passed    0.12 sec
16/26 Test google#20: shaderc_c_smoke_test .....................   Passed    0.35 sec
17/26 Test google#11: shaderc_util_compiler ....................   Passed   17.57 sec
18/26 Test  google#2: glslang-gtests ...........................   Passed   22.43 sec
19/26 Test google#19: shaderc_combined_shaderc_cpp .............   Passed   28.06 sec
20/26 Test google#13: shaderc_shaderc_cpp ......................   Passed   28.35 sec
21/26 Test google#18: shaderc_combined_shaderc .................   Passed   35.81 sec
22/26 Test google#12: shaderc_shaderc ..........................   Passed   35.83 sec
23/26 Test google#16: shaderc_shared_shaderc_cpp ...............   Passed   44.99 sec
24/26 Test google#15: shaderc_shared_shaderc ...................   Passed   57.23 sec
25/26 Test  #1: glslang-testsuite ........................   Passed   59.93 sec
26/26 Test google#26: glslc_tests ..............................   Passed   91.32 sec

100% tests passed, 0 tests failed out of 26

Total Test time (real) =  91.35 sec
Integrity validator run tests for project: shaderc
Diff patching for stage after.
Diff patch analysis begin. Stage: after, Current working dir: /src/shaderc
Diff patch analysis after stage.
Wrong number of directories found under /src/
['shaderc', 'glsl_seed', 'glslang']
Multiple project directories found under /src/
Git repo found: /src/shaderc
Diff patch generated at /tmp/chronos-diff.patch
Difference between diffs:
Patch result: success. No patch found that affects source control versioning.
INFO:__main__:succeeded patch: True
INFO:__main__:shaderc test completion succeeded: Duration of run_tests.sh: 92.22 seconds
```

Signed-off-by: David Korczynski <david@adalogics.com>
vah13 pushed a commit that referenced this pull request Nov 20, 2025
```
python3 infra/experimental/chronos/manager.py check-tests --integrity-check crow
...

100% tests passed, 0 tests failed out of 2

Total Test time (real) =  60.80 sec
INFO:__main__:Successfully ran run_tests.sh for project: crow
INFO:__main__:Checking diffing patch for project: crow
Test project /src/crow/build
    Start 1: crow_test
    Start 2: template_test
1/2 Test google#2: template_test ....................   Passed    0.55 sec
2/2 Test #1: crow_test ........................   Passed   48.39 sec

100% tests passed, 0 tests failed out of 2

Total Test time (real) =  48.40 sec
INFO:__main__:succeeded patch: True
INFO:__main__:run_tests.sh result succeeded: does not patch source control
INFO:__main__:crow test completion succeeded: Duration of run_tests.sh: 112.23 seconds
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants