atrac3dec: Check coding mode against channels.
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 9 Nov 2012 12:26:20 +0000 (13:26 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 7 Feb 2013 00:00:02 +0000 (01:00 +0100)
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 13451f5520ce6b0afde861b2285dda659f8d4fb4)

Conflicts:

libavcodec/atrac3.c

libavcodec/atrac3.c

index 7d076be..1da4c78 100644 (file)
@@ -955,6 +955,11 @@ static av_cold int atrac3_decode_init(AVCodecContext *avctx)
     }
     /* Check the extradata. */
 
+    if (q->codingMode == JOINT_STEREO && avctx->channels < 2) {
+        av_log(avctx, AV_LOG_ERROR, "Invalid coding mode\n");
+        return AVERROR_INVALIDDATA;
+    }
+
     if (q->atrac3version != 4) {
         av_log(avctx,AV_LOG_ERROR,"Version %d != 4.\n",q->atrac3version);
         return AVERROR_INVALIDDATA;