avcodec_decode_audio: do not trust the channel layout, use the channel count.
Fixes memory corruption
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d270c32025
)
Conflicts:
libavcodec/utils.c
This commit is contained in:
@@ -1744,7 +1744,7 @@ int attribute_align_arg avcodec_decode_audio4(AVCodecContext *avctx,
|
||||
* make sure it's set correctly; assume decoders that actually use
|
||||
* extended_data are doing it correctly */
|
||||
planar = av_sample_fmt_is_planar(frame->format);
|
||||
channels = av_get_channel_layout_nb_channels(frame->channel_layout);
|
||||
channels = frame->channels;
|
||||
if (!(planar && channels > AV_NUM_DATA_POINTERS))
|
||||
frame->extended_data = frame->data;
|
||||
|
||||
|
Reference in New Issue
Block a user