Commit 71755d3d for libheif
commit 71755d3d41a117685a3274bdd1214fc50a760f20
Author: Dirk Farin <dirk.farin@gmail.com>
Date: Mon Apr 13 19:49:06 2026 +0200
fix: reject malformed sequence files with saiz samples but no chunks
diff --git a/libheif/sequences/track.cc b/libheif/sequences/track.cc
index 40a98e64..ee4f2374 100644
--- a/libheif/sequences/track.cc
+++ b/libheif/sequences/track.cc
@@ -443,6 +443,14 @@ Error Track::load(const std::shared_ptr<Box_trak>& trak_box)
};
}
+ if (saio->get_num_chunks() != 1 && m_chunks.empty() && saiz->get_num_samples() > 0) {
+ return Error{
+ heif_error_Invalid_input,
+ heif_suberror_Unspecified,
+ "'saiz' box references samples but no chunks exist."
+ };
+ }
+
if (aux_info_type == fourcc("suid")) {
m_aux_reader_content_ids = std::make_unique<SampleAuxInfoReader>(saiz, saio, m_chunks);
}