This avoids crashes when initializing the range coder for the first slice context.
Unified · Split
| @@ -194,6 +194,10 @@ av_cold int ffv1_init_slice_contexts(FFV1Context *f) · 193 unmodified lines | ||
| 194 | 194 | int i; |
| 195 | 195 | |
| 196 | 196 | f->slice_count = f->num_h_slices * f->num_v_slices; |
| 197 | + if (f->slice_count <= 0) { | |
| 198 | + av_log(f->avctx, AV_LOG_ERROR, "Invalid number of slices\n"); | |
| 199 | + return AVERROR(EINVAL); | |
| 200 | + } | |
| 197 | 201 | |
| 198 | 202 | for (i = 0; i < f->slice_count; i++) { |
| 199 | 203 | FFV1Context *fs = av_mallocz(sizeof(*fs)); |