diff options
author | Luca Barbato <lu_zero@gentoo.org> | 2013-05-13 19:32:04 +0200 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2013-05-20 22:02:05 +0200 |
commit | 8aa3500905fec6c4e657bb291b861d43c34d3de9 (patch) | |
tree | b63610ba6bfb3e90db569b50774a27963a3ac3c0 /libavcodec/mjpegdec.c | |
parent | 4b79668154f3cf762a71665aea517bdde57b081c (diff) | |
download | ffmpeg-8aa3500905fec6c4e657bb291b861d43c34d3de9.tar.gz |
mjpeg: Validate sampling factors
They must be non-zero.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Diffstat (limited to 'libavcodec/mjpegdec.c')
-rw-r--r-- | libavcodec/mjpegdec.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index ef46c5f2a2..83b40d90c3 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -265,6 +265,13 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) s->quant_index[i] = get_bits(&s->gb, 8); if (s->quant_index[i] >= 4) return AVERROR_INVALIDDATA; + if (!s->h_count[i] || !s->v_count[i]) { + av_log(s->avctx, AV_LOG_ERROR, + "Invalid sampling factor in component %d %d:%d\n", + i, s->h_count[i], s->v_count[i]); + return AVERROR_INVALIDDATA; + } + av_log(s->avctx, AV_LOG_DEBUG, "component %d %d:%d id: %d quant:%d\n", i, s->h_count[i], s->v_count[i], s->component_id[i], s->quant_index[i]); |