Commit 02d6d053 authored by Michael Niedermayer's avatar Michael Niedermayer

dcadec: check xch_base_channel against channel_order_tab.

Fix null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 51fcf276
...@@ -2247,6 +2247,8 @@ static int dca_decode_frame(AVCodecContext *avctx, void *data, ...@@ -2247,6 +2247,8 @@ static int dca_decode_frame(AVCodecContext *avctx, void *data,
} else { } else {
s->channel_order_tab = dca_channel_reorder_nolfe_xch[s->amode]; s->channel_order_tab = dca_channel_reorder_nolfe_xch[s->amode];
} }
if (s->channel_order_tab[s->xch_base_channel] < 0)
return AVERROR_INVALIDDATA;
} else { } else {
channels = num_core_channels + !!s->lfe; channels = num_core_channels + !!s->lfe;
s->xch_present = 0; /* disable further xch processing */ s->xch_present = 0; /* disable further xch processing */
......
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