From cee4490b521fd0d02476d46aa2598af24fb8d686 Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michaelni@gmx.at>
Date: Sat, 4 Oct 2014 22:15:07 +0200
Subject: [PATCH] on2avc: check number of channels

Fixes invalid memory access.

CC: libav-stable@libav.org
Bug-ID: CVE-2014-8549
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
---
 libavcodec/on2avc.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavcodec/on2avc.c b/libavcodec/on2avc.c
index deaa2b4c04b..c00339f7b0f 100644
--- a/libavcodec/on2avc.c
+++ b/libavcodec/on2avc.c
@@ -918,6 +918,10 @@ static av_cold int on2avc_decode_init(AVCodecContext *avctx)
         av_log(avctx, AV_LOG_ERROR, "0x500 version should be mono\n");
         return AVERROR_INVALIDDATA;
     }
+    if (avctx->channels > 2) {
+        av_log(avctx, AV_LOG_ERROR, "Only 1 or 2 channels are supported.\n");
+        return AVERROR(EINVAL);
+    }
     if (avctx->channels == 2)
         av_log(avctx, AV_LOG_WARNING,
                "Stereo mode support is not good, patch is welcome\n");
-- 
GitLab