From d03469893d35ee477725904e321c4f2945feb674 Mon Sep 17 00:00:00 2001 From: Serial <69764315+Serial-ATA@users.noreply.github.com> Date: Sun, 28 Jul 2024 13:51:43 -0400 Subject: [PATCH] MP4: Fix panic on large stts entry counts --- lofty/src/mp4/properties.rs | 3 ++- ...join_IDX_53_RAND_83672409887817275057956.m4a | Bin 0 -> 54201 bytes lofty/tests/fuzz/mp4file_read_from.rs | 8 ++++++++ 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100755 lofty/tests/fuzz/assets/mp4file_read_from/ui_steam_smoother_friend_join_IDX_53_RAND_83672409887817275057956.m4a diff --git a/lofty/src/mp4/properties.rs b/lofty/src/mp4/properties.rs index 4025b24e3..125f76f0e 100644 --- a/lofty/src/mp4/properties.rs +++ b/lofty/src/mp4/properties.rs @@ -4,6 +4,7 @@ use crate::config::ParsingMode; use crate::error::{LoftyError, Result}; use crate::macros::{decode_err, err, try_vec}; use crate::properties::FileProperties; +use crate::util::alloc::VecFallibleCapacity; use crate::util::math::RoundedDivision; use std::io::{Cursor, Read, Seek, SeekFrom}; @@ -340,7 +341,7 @@ where let _version_and_flags = reader.read_uint::(4)?; let entry_count = reader.read_u32::()?; - let mut entries = Vec::with_capacity(entry_count as usize); + let mut entries = Vec::try_with_capacity_stable(entry_count as usize)?; for _ in 0..entry_count { let sample_count = reader.read_u32::()?; diff --git a/lofty/tests/fuzz/assets/mp4file_read_from/ui_steam_smoother_friend_join_IDX_53_RAND_83672409887817275057956.m4a b/lofty/tests/fuzz/assets/mp4file_read_from/ui_steam_smoother_friend_join_IDX_53_RAND_83672409887817275057956.m4a new file mode 100755 index 0000000000000000000000000000000000000000..9313ca6f4b415ee5a0331012d7ac9e3a28561b8c GIT binary patch literal 54201 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