hyperium / h2

HTTP 2.0 client & server implementation for Rust.
MIT License
1.38k stars 278 forks source link

Initial oss-fuzz integration. #529

Closed DavidKorczynski closed 3 years ago

DavidKorczynski commented 3 years ago

Hi all,

I have been working on getting hyperium-related repositories into oss-fuzz https://github.com/google/oss-fuzz/pull/5330 In this context I added a libfuzzer-based fuzzer to this project. Let me know if you are interested in this!

seanmonstar commented 3 years ago

There's a bit of fuzzing in the crate already, around the hpack implementation. Would it be worth just plugging that in?

DavidKorczynski commented 3 years ago

Are you referring to the code here? https://github.com/hyperium/h2/tree/master/tests/h2-fuzz

I think this is a bit outdated - it doesn't seem to compile as the AsyncRead has been updated. However, I think it would be nice to update it and migrate.

seanmonstar commented 3 years ago

Oh that would be a good thing to fix too!

I was thinking of this code: https://www.github.com/hyperium/h2/tree/master/src/hpack/test/fuzz.rs

DavidKorczynski commented 3 years ago

Sounds good - I will be taking a look at this!

DavidKorczynski commented 3 years ago

Ready for another review @seanmonstar

The PR now does the following:

seanmonstar commented 3 years ago

Thanks so much, this is excellent!