On 1/8/2025 5:31 PM, Michael Niedermayer wrote:
Fixes: undefined NULL pointer use
Fixes: clusterfuzz-testcase-minimized-audio_decoder_fuzzer-6363211175493632

This performs equivalent sanity checks as are done in mov_read_trak()
before mov_build_index()

Reported-by: Dale Curtis <dalecur...@chromium.org>
Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc>
---
  libavformat/mov.c | 4 ++++
  1 file changed, 4 insertions(+)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 56f732bfcfb..33823b98b2f 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -10411,6 +10411,10 @@ static int mov_parse_heif_items(AVFormatContext *s)
          if (sc->sample_count != 1 || sc->chunk_count != 1)
              return AVERROR_INVALIDDATA;
+ /* sanity checks */
+        if (!sc->stts_count || !sc->stsc_count)
+            return AVERROR_INVALIDDATA;

Not against it, but I'd like to check the sample. If the AVStream here is not NULL, both of those should be 1.

+
          sc->sample_sizes[0]  = item->extent_length;
          sc->chunk_offsets[0] = item->extent_offset + offset;

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to