mozilla / mp4parse-rust

Parser for ISO Base Media Format aka video/mp4 written in Rust.
Mozilla Public License 2.0
404 stars 62 forks source link

Build broken in oss-fuzz #384

Closed tysmith closed 1 year ago

tysmith commented 1 year ago

The build is currently failing in oss-fuzz preventing fuzzing.

I was able to repro the issue locally.

:~/code/mp4parse-rust/mp4parse_capi/fuzz$ cargo clippy
    Checking cfg-if v1.0.0
    Checking once_cell v1.17.0
    Checking libc v0.2.139
    Checking num-traits v0.2.15
    Checking bitreader v0.3.6
    Checking log v0.4.17
    Checking byteorder v1.4.3
    Checking static_assertions v1.1.0
    Checking arbitrary v1.2.2
    Checking getrandom v0.2.8
    Checking ahash v0.7.6
    Checking hashbrown v0.12.3
    Checking libfuzzer-sys v0.4.0
    Checking fallible_collections v0.4.6
    Checking mp4parse v0.16.0 (/home/user/code/mp4parse-rust/mp4parse)
    Checking mp4parse_capi v0.16.0 (/home/user/code/mp4parse-rust/mp4parse_capi)
    Checking mp4parse_capi-fuzz v0.0.0 (/home/user/code/mp4parse-rust/mp4parse_capi/fuzz)
error[E0004]: non-exhaustive patterns: `mp4parse_capi::Mp4parseTrackType::Picture` and `mp4parse_capi::Mp4parseTrackType::AuxiliaryVideo` not covered
  --> fuzz_targets/mp4.rs:47:19
   |
47 |             match info.track_type {
   |                   ^^^^^^^^^^^^^^^ patterns `mp4parse_capi::Mp4parseTrackType::Picture` and `mp4parse_capi::Mp4parseTrackType::AuxiliaryVideo` not covered
   |
note: `mp4parse_capi::Mp4parseTrackType` defined here
  --> /home/user/code/mp4parse-rust/mp4parse_capi/src/lib.rs:78:5
   |
76 | pub enum Mp4parseTrackType {
   | --------------------------
77 |     Video = 0,
78 |     Picture = 1,
   |     ^^^^^^^ not covered
79 |     AuxiliaryVideo = 2,
   |     ^^^^^^^^^^^^^^ not covered
   = note: the matched value is of type `mp4parse_capi::Mp4parseTrackType`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern, a match arm with multiple or-patterns as shown, or multiple match arms
   |
57 ~                 Mp4parseTrackType::Metadata => {}
58 +                 mp4parse_capi::Mp4parseTrackType::Picture | mp4parse_capi::Mp4parseTrackType::AuxiliaryVideo => todo!()
   |

For more information about this error, try `rustc --explain E0004`.
error: could not compile `mp4parse_capi-fuzz` due to previous error
warning: build failed, waiting for other jobs to finish...
kinetiknz commented 1 year ago

Should be fixed in https://github.com/mozilla/mp4parse-rust/commit/845694a7d1b932037f45b3e045e1aa5a8dcaca75

tysmith commented 1 year ago

It is, thanks @kinetiknz :)