diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-11-07 13:26:37 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-11-07 13:26:37 +0100 |
commit | dd11615bbca6ca38e0d9696cc3a4e7ee9c324cdc (patch) | |
tree | c8b302d08647a9023832d9cf6183f57ab60619dc | |
parent | cb395929e3793189403e473f208a669debe825d0 (diff) | |
download | ffmpeg-dd11615bbca6ca38e0d9696cc3a4e7ee9c324cdc.tar.gz |
ffv1dec: more completely check slice count
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/ffv1dec.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libavcodec/ffv1dec.c b/libavcodec/ffv1dec.c index 7a4463e4ac..9cd0cff344 100644 --- a/libavcodec/ffv1dec.c +++ b/libavcodec/ffv1dec.c @@ -469,9 +469,10 @@ static int read_extra_header(FFV1Context *f) f->num_h_slices = 1 + get_symbol(c, state, 0); f->num_v_slices = 1 + get_symbol(c, state, 0); - if (f->num_h_slices > (unsigned)f->width || - f->num_v_slices > (unsigned)f->height) { - av_log(f->avctx, AV_LOG_ERROR, "too many slices\n"); + if (f->num_h_slices > (unsigned)f->width || !f->num_h_slices || + f->num_v_slices > (unsigned)f->height || !f->num_v_slices + ) { + av_log(f->avctx, AV_LOG_ERROR, "slice count invalid\n"); return AVERROR_INVALIDDATA; } |