diff options
author | Martin Storsjö <martin@martin.st> | 2013-09-16 21:46:50 +0300 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2013-09-17 11:33:38 +0300 |
commit | b1db33159fdc2da4bdd8c75e4ff9a7dd0ef2f0c2 (patch) | |
tree | 2a30b31cbdb8ee9eb25c6e0914b9325ceaf9e8d2 /libavcodec | |
parent | ea78a348d86a3a733f6c1e0a65cfdd8283d924b9 (diff) | |
download | ffmpeg-b1db33159fdc2da4bdd8c75e4ff9a7dd0ef2f0c2.tar.gz |
ffv1: Make sure at least one slice context is initialized
This avoids crashes when initializing the range coder for
the first slice context.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/ffv1.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/ffv1.c b/libavcodec/ffv1.c index 378b55b236..a31f2786ee 100644 --- a/libavcodec/ffv1.c +++ b/libavcodec/ffv1.c @@ -194,6 +194,10 @@ av_cold int ffv1_init_slice_contexts(FFV1Context *f) int i; f->slice_count = f->num_h_slices * f->num_v_slices; + if (f->slice_count <= 0) { + av_log(f->avctx, AV_LOG_ERROR, "Invalid number of slices\n"); + return AVERROR(EINVAL); + } for (i = 0; i < f->slice_count; i++) { FFV1Context *fs = av_mallocz(sizeof(*fs)); |