From 02d6d053396626ff5b3390e48a9933e0d4164b28 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Fri, 14 Dec 2012 23:37:14 +0100 Subject: [PATCH] dcadec: check xch_base_channel against channel_order_tab. Fix null pointer dereference Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer --- libavcodec/dcadec.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/dcadec.c b/libavcodec/dcadec.c index 59c1e6e3ea..e7ae6e2d20 100644 --- a/libavcodec/dcadec.c +++ b/libavcodec/dcadec.c @@ -2247,6 +2247,8 @@ static int dca_decode_frame(AVCodecContext *avctx, void *data, } else { 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 { channels = num_core_channels + !!s->lfe; s->xch_present = 0; /* disable further xch processing */