Commit 4f944077 for libheif
commit 4f9440778f9b92815a5850f8ae656bc642445fda
Author: Dirk Farin <dirk.farin@gmail.com>
Date: Mon May 18 22:31:11 2026 +0200
add defensive check in init_sample_timing_table() (thanks to @m1-llie for the report)
diff --git a/libheif/sequences/track.cc b/libheif/sequences/track.cc
index b825a90f..a153f3fb 100644
--- a/libheif/sequences/track.cc
+++ b/libheif/sequences/track.cc
@@ -1038,11 +1038,15 @@ Error Track::init_sample_timing_table()
while (current_chunk < m_chunks.size() &&
i > m_chunks[current_chunk]->last_sample_number()) {
current_chunk++;
- current_sample_in_chunk_idx=0;
+ current_sample_in_chunk_idx = 0;
+ }
- if (current_chunk > m_chunks.size()) {
- timing.chunkIdx = 0; // TODO: error
- }
+ if (current_chunk >= m_chunks.size()) {
+ return {
+ heif_error_Invalid_input,
+ heif_suberror_Unspecified,
+ "Sample not covered by any chunk."
+ };
}
timing.chunkIdx = current_chunk;