mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-03-23 04:24:35 +02:00
avformat/mov: Allow saio/saiz in clear content.
If there is a saio/saiz in clear content, we shouldn't create the encryption index if we don't already have one. Otherwise it will confuse the cenc_filter. The changed method is also used for senc atoms, but they should not appear in clear content. Found by Chromium's ClusterFuzz: https://crbug.com/873432 Signed-off-by: Jacob Trimble <modmaker@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
130de9142e
commit
eb350ab738
@ -5845,6 +5845,9 @@ static int get_current_encryption_info(MOVContext *c, MOVEncryptionIndex **encry
|
||||
*sc = st->priv_data;
|
||||
|
||||
if (!frag_stream_info->encryption_index) {
|
||||
// If this stream isn't encrypted, don't create the index.
|
||||
if (!(*sc)->cenc.default_encrypted_sample)
|
||||
return 0;
|
||||
frag_stream_info->encryption_index = av_mallocz(sizeof(*frag_stream_info->encryption_index));
|
||||
if (!frag_stream_info->encryption_index)
|
||||
return AVERROR(ENOMEM);
|
||||
@ -5860,6 +5863,9 @@ static int get_current_encryption_info(MOVContext *c, MOVEncryptionIndex **encry
|
||||
*sc = st->priv_data;
|
||||
|
||||
if (!(*sc)->cenc.encryption_index) {
|
||||
// If this stream isn't encrypted, don't create the index.
|
||||
if (!(*sc)->cenc.default_encrypted_sample)
|
||||
return 0;
|
||||
(*sc)->cenc.encryption_index = av_mallocz(sizeof(*frag_stream_info->encryption_index));
|
||||
if (!(*sc)->cenc.encryption_index)
|
||||
return AVERROR(ENOMEM);
|
||||
|
Loading…
x
Reference in New Issue
Block a user