summaryrefslogtreecommitdiff
path: root/libavcodec/adpcm.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-12-19 04:09:23 +0100
committerMichael Niedermayer <michaelni@gmx.at>2011-12-19 04:09:23 +0100
commit608708009f69ba4cecebf05120c696167494c897 (patch)
tree661dcdf924d98a1291d90fd24c20579dcda8aedb /libavcodec/adpcm.c
parent29179239f5cf11c189a0ef20605ef5f5963fdb18 (diff)
adpcm: Fix crash
Fixes half of Ticket794 Bug found by: Oana Stratulat Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/adpcm.c')
-rw-r--r--libavcodec/adpcm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavcodec/adpcm.c b/libavcodec/adpcm.c
index bbc7d1cd27..e7657945dd 100644
--- a/libavcodec/adpcm.c
+++ b/libavcodec/adpcm.c
@@ -818,6 +818,9 @@ static int adpcm_decode_frame(AVCodecContext *avctx, void *data,
/* Each EA ADPCM frame has a 12-byte header followed by 30-byte pieces,
each coding 28 stereo samples. */
+ if(avctx->channels != 2)
+ return AVERROR_INVALIDDATA;
+
src += 4; // skip sample count (already read)
current_left_sample = (int16_t)bytestream_get_le16(&src);