ffmpeg | branch: master | Dale Curtis <[email protected]> | Fri Aug 2 22:04:46 2024 +0000| [4230379835780c855818d7141082d9558e3842dc] | committer: Michael Niedermayer
avformat/mov: Fix nullptr dereference with invalid encryption metadata. Found by fuzzer. Bug: https://crbug.com/356720789 Signed-off-by: Dale Curtis <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4230379835780c855818d7141082d9558e3842dc --- libavformat/mov.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index f2d8aee766..d57c4f150b 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -8143,15 +8143,19 @@ static int cenc_filter(MOVContext *mov, AVStream* st, MOVStreamContext *sc, AVPa return AVERROR_INVALIDDATA; } + encrypted_sample = NULL; if (!encryption_index->nb_encrypted_samples) { // Full-sample encryption with default settings. encrypted_sample = sc->cenc.default_encrypted_sample; } else if (encrypted_index >= 0 && encrypted_index < encryption_index->nb_encrypted_samples) { // Per-sample setting override. encrypted_sample = encryption_index->encrypted_samples[encrypted_index]; - if (!encrypted_sample) + if (!encrypted_sample) { encrypted_sample = sc->cenc.default_encrypted_sample; - } else { + } + } + + if (!encrypted_sample) { av_log(mov->fc, AV_LOG_ERROR, "Incorrect number of samples in encryption info\n"); return AVERROR_INVALIDDATA; } _______________________________________________ ffmpeg-cvslog mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
