aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>2015-02-25 22:55:44 +0100
committerMichael Niedermayer <michaelni@gmx.at>2015-03-13 17:06:09 +0100
commit2f4c2cc6d367e087c3bca7240efacbd82a30dcee (patch)
tree0d9262613511adf7ca0fc658f86ef54b36c1477f
parent9814419debd96d8576841b5173357ff282d0512e (diff)
downloadffmpeg-2f4c2cc6d367e087c3bca7240efacbd82a30dcee.tar.gz
avformat/adxdec: check avctx->channels for invalid values
This avoids a null pointer dereference of pkt->data. Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit 7faa40af982960608b117e20fec999b48011e5e0) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavformat/adxdec.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavformat/adxdec.c b/libavformat/adxdec.c
index 49e19307d5..2cde39da7b 100644
--- a/libavformat/adxdec.c
+++ b/libavformat/adxdec.c
@@ -41,6 +41,11 @@ static int adx_read_packet(AVFormatContext *s, AVPacket *pkt)
AVCodecContext *avctx = s->streams[0]->codec;
int ret, size;
+ if (avctx->channels <= 0) {
+ av_log(s, AV_LOG_ERROR, "invalid number of channels %d\n", avctx->channels);
+ return AVERROR_INVALIDDATA;
+ }
+
size = BLOCK_SIZE * avctx->channels;
pkt->pos = avio_tell(s->pb);