-
-
Notifications
You must be signed in to change notification settings - Fork 55
Closed
Labels
bugSomething isn't workingSomething isn't working
Milestone
Description
Reproducer
I tried this code:
#![no_main]
use libfuzzer_sys::{fuzz_target, Corpus};
use lofty::file::AudioFile;
use lofty::file::{FileType, TaggedFileExt};
use lofty::probe::Probe;
const ALL_FILE_TYPES: &[FileType] = &[
FileType::Aac,
FileType::Aiff,
FileType::Ape,
FileType::Flac,
FileType::Mpeg,
FileType::Mp4,
FileType::Mpc,
FileType::Opus,
FileType::Vorbis,
FileType::Speex,
FileType::Wav,
FileType::WavPack,
];
fuzz_target!(|data: &[u8]| -> Corpus {
let mut corpus = Corpus::Reject;
for i in ALL_FILE_TYPES {
let s = std::io::Cursor::new(data);
let tagged_file = match Probe::with_file_type(s, *i).read() {
Ok(t) => t,
Err(_e) => {
continue;
}
};
corpus = Corpus::Keep;
tagged_file.properties();
tagged_file.tags();
tagged_file.primary_tag();
}
corpus
});Summary
Encountered an invalid item size, either too big or too small to be valid
No format could be determined from the provided file
failed to fill whole buffer
failed to fill whole buffer
thread 'main' (2616714) panicked at /home/runner/.cargo/git/checkouts/lofty-rs-fdd1bd466a957cbb/aa58485/lofty/src/id3/v2/items/language_frame.rs:59:10:
internal error: entered unreachable code: Bad BOM [0, 0]
stack backtrace:
0: __rustc::rust_begin_unwind
at /rustc/c8ca44c98eade864824a3c0a15fbdc1edb7f9dd4/library/std/src/panicking.rs:698:5
1: core::panicking::panic_fmt
at /rustc/c8ca44c98eade864824a3c0a15fbdc1edb7f9dd4/library/core/src/panicking.rs:75:14
2: lofty::id3::v2::items::language_frame::LanguageFrame::parse
at /home/runner/.cargo/git/checkouts/lofty-rs-fdd1bd466a957cbb/aa58485/lofty/src/id3/v2/items/language_frame.rs:59:10
3: lofty::id3::v2::items::language_frame::CommentFrame::parse
at /home/runner/.cargo/git/checkouts/lofty-rs-fdd1bd466a957cbb/aa58485/lofty/src/id3/v2/items/language_frame.rs:186:30
4: lofty::id3::v2::frame::content::parse_content
at /home/runner/.cargo/git/checkouts/lofty-rs-fdd1bd466a957cbb/aa58485/lofty/src/id3/v2/frame/content.rs:33:13
5: lofty::id3::v2::frame::read::parse_frame
at /home/runner/.cargo/git/checkouts/lofty-rs-fdd1bd466a957cbb/aa58485/lofty/src/id3/v2/frame/read.rs:258:8
6: lofty::id3::v2::frame::read::ParsedFrame::read
at /home/runner/.cargo/git/checkouts/lofty-rs-fdd1bd466a957cbb/aa58485/lofty/src/id3/v2/frame/read.rs:203:12
7: lofty::id3::v2::read::read_all_frames_into_tag
at /home/runner/.cargo/git/checkouts/lofty-rs-fdd1bd466a957cbb/aa58485/lofty/src/id3/v2/read.rs:146:9
8: lofty::id3::v2::read::parse_id3v2
at /home/runner/.cargo/git/checkouts/lofty-rs-fdd1bd466a957cbb/aa58485/lofty/src/id3/v2/read.rs:38:9
9: lofty::mpeg::read::read_from
at /home/runner/.cargo/git/checkouts/lofty-rs-fdd1bd466a957cbb/aa58485/lofty/src/mpeg/read.rs:47:18
10: <lofty::mpeg::MpegFile as lofty::file::audio_file::AudioFile>::read_from
at /home/runner/.cargo/git/checkouts/lofty-rs-fdd1bd466a957cbb/aa58485/lofty/src/mpeg/mod.rs:17:10
11: lofty::probe::Probe<R>::read
at /home/runner/.cargo/git/checkouts/lofty-rs-fdd1bd466a957cbb/aa58485/lofty/src/probe.rs:472:23
12: lofty::check_file
at ./src/crates/lofty/src/main.rs:42:62
13: lofty::main
at ./src/crates/lofty/src/main.rs:26:9
14: core::ops::function::FnOnce::call_once
at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:253:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
##### Automatic Fuzzer note, output status "None", output signal "Some(6)"
Expected behavior
No response
Assets
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working