HEIF 序列解析器中的无界堆分配(stsz 固定大小模式)
一个 1,477 字节的精心构造的 HEIF 文件在 Chunk::Chunk() 中触发了约 7 GB 的未检查堆分配,原因在于 Box_stsz::parse() 的固定大小模式下缺少对 max_sequence_frames 的检查。
seq_boxes.cc:1067 — 当 m_fixed_sample_size != 0 时,m_sample_count 被原样存储(无边界检查)。
将 max_sequence_frames 检查移至 if (m_fixed_sample_size == 0) 分支之外。