Commit a8d70285 authored by Michael Niedermayer's avatar Michael Niedermayer

avcodec/mlpdec: check that streamtype matches the codec

Fixes use of uninitialized memory
Fixes msan_uninit-mem_7f126c8ed1ac_5945_issue1731_nonpublic.mpg
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent e2742d6a
......@@ -363,10 +363,22 @@ static int read_major_sync(MLPDecodeContext *m, GetBitContext *gb)
* substream is Stereo. Subsequent substreams' layouts are indicated in the
* major sync. */
if (m->avctx->codec_id == AV_CODEC_ID_MLP) {
if (mh.stream_type != 0xbb) {
avpriv_request_sample(m->avctx,
"unexpected stream_type %X in MLP",
mh.stream_type);
return AVERROR_PATCHWELCOME;
}
if ((substr = (mh.num_substreams > 1)))
m->substream[0].ch_layout = AV_CH_LAYOUT_STEREO;
m->substream[substr].ch_layout = mh.channel_layout_mlp;
} else {
if (mh.stream_type != 0xba) {
avpriv_request_sample(m->avctx,
"unexpected stream_type %X in !MLP",
mh.stream_type);
return AVERROR_PATCHWELCOME;
}
if ((substr = (mh.num_substreams > 1)))
m->substream[0].ch_layout = AV_CH_LAYOUT_STEREO;
if (mh.num_substreams > 2)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment