etemesi254 / zune-image

Other
280 stars 26 forks source link

broken jpg file causes assertion failure #192

Open rtmrtmrtmrtm opened 2 months ago

rtmrtmrtmrtm commented 2 months ago

When I run this program:

use zune_jpeg::zune_core; use std::fs::read; fn main() { let data = read("ass4a.jpg").unwrap(); let options = zune_core::options::DecoderOptions::default() .set_strict_mode(false) .set_max_width(usize::MAX) .set_max_height(usize::MAX); let mut decoder = zune_jpeg::JpegDecoder::new_with_options(&data, options); decoder.decode_headers().unwrap(); let mut out = vec![0;decoder.output_buffer_size().unwrap()]; decoder.decode_into(&mut out).unwrap(); }

on the attached JPEG file ass4a.jpg, with zune-jpeg 0.4.11, I get this assertion failure:

% cargo run Finished dev [unoptimized + debuginfo] target(s) in 0.03s Running target/debug/xxzune thread 'main' panicked at /usr/rtm/.cargo/registry/src/index.crates.io-6f17d22bba15001f/zune-jpeg-0.4.11/src/mcu.rs:209:9: assertion left == right failed left: 48 right: 117 stack backtrace: 0: 0x3add78371bc7 - ::fmt::h04b377d292678181 1: 0x3add78396ac0 - core::fmt::write::h459c485ef6006e67 2: 0x3add783875e5 - std::io::Write::write_fmt::hf541e7d1b4bb77ae 3: 0x3add783719a4 - std::sys_common::backtrace::print::hadbbbb42b5c229fd 4: 0x3add78370c9a - std::panicking::default_hook::{{closure}}::h1ce49eeec15de0d3 5: 0x3add783708dc - std::panicking::default_hook::he16c1284f3e7d0fd 6: 0x3add78370fd8 - std::panicking::rust_panic_with_hook::hbbedcc3f697222df 7: 0x3add78371fea - std::panicking::begin_panic_handler::{{closure}}::h583cecded87ab74f 8: 0x3add78371df6 - std::sys_common::backtrace::rust_end_short_backtrace::h0b92e3f0a7b30d0a 9: 0x3add78370cf4 - rust_begin_unwind 10: 0x3add783991d5 - core::panicking::panic_fmt::h722ebc254781801d 11: 0x3add783994db - core::panicking::assert_failed_inner::h5b0673f5c981259c 12: 0x3add78359ede - core::panicking::assert_failed::hbb819380e7dd1d39 at /wrkdirs/usr/ports/lang/rust/work/rustc-1.77.0-src/library/core/src/panicking.rs:297:5 13: 0x3add78320a58 - zune_jpeg::mcu::<impl zune_jpeg::decoder::JpegDecoder>::decode_mcu_ycbcr_baseline::h94641e436b18bd58 at /usr/rtm/.cargo/registry/src/index.crates.io-6f17d22bba15001f/zune-jpeg-0.4.11/src/mcu.rs:209:9 14: 0x3add78320e7a - zune_jpeg::decoder::JpegDecoder::decode_into::hf3f2a27186d684cb at /usr/rtm/.cargo/registry/src/index.crates.io-6f17d22bba15001f/zune-jpeg-0.4.11/src/decoder.rs:708:13 15: 0x3add7831b9f4 - xxzune::main::hcca7e436177e0124 at /usr/rtm/dd/xxzune/src/main.rs:13:5 16: 0x3add78302d1b - core::ops::function::FnOnce::call_once::hdf2787c73e54cf4c at /wrkdirs/usr/ports/lang/rust/work/rustc-1.77.0-src/library/core/src/ops/function.rs:250:5 17: 0x3add7831af6e - std::sys_common::backtrace::rust_begin_short_backtrace::h22dda67bfa9d4c58 at /wrkdirs/usr/ports/lang/rust/work/rustc-1.77.0-src/library/std/src/sys_common/backtrace.rs:155:18 18: 0x3add7832a7e1 - std::rt::lang_start::{{closure}}::h6e8bacb50fa0b8bc at /wrkdirs/usr/ports/lang/rust/work/rustc-1.77.0-src/library/std/src/rt.rs:166:18 19: 0x3add7836f70d - std::rt::lang_start_internal::hde7d31ab8d78136c 20: 0x3add7832a7ba - std::rt::lang_start::h344c62303e893532 at /wrkdirs/usr/ports/lang/rust/work/rustc-1.77.0-src/library/std/src/rt.rs:165:17 21: 0x3add7831bb1e - main 22: 0x3ae59bb89afa - __libc_start1 23: 0x3add78301bad - _start at /usr/src/lib/csu/amd64/crt1_s.S:83

ass4a

uklotzde commented 2 months ago

Duplicate: #184