diff options
author | Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> | 2015-02-25 22:55:44 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-03-12 18:03:50 +0100 |
commit | f92e8cccf5813dd62b7c4a2bea072badc7a250cb (patch) | |
tree | 9621aa92d28effea19dcf0f4f53efc9fc0e69cd9 | |
parent | c89645c3ef4b975aac0b25a5a8c1707a2567d7da (diff) | |
download | ffmpeg-f92e8cccf5813dd62b7c4a2bea072badc7a250cb.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.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libavformat/adxdec.c b/libavformat/adxdec.c index ab11d832d8..021042c608 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); |