summaryrefslogtreecommitdiff
path: root/libavcodec/ffv1.c
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2013-09-16 21:46:50 +0300
committerMartin Storsjö <martin@martin.st>2013-09-17 11:33:38 +0300
commitb1db33159fdc2da4bdd8c75e4ff9a7dd0ef2f0c2 (patch)
tree2a30b31cbdb8ee9eb25c6e0914b9325ceaf9e8d2 /libavcodec/ffv1.c
parentea78a348d86a3a733f6c1e0a65cfdd8283d924b9 (diff)
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/ffv1.c')
-rw-r--r--libavcodec/ffv1.c4
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));