diff --git a/libavcodec/gifdec.c b/libavcodec/gifdec.c index 2d9f8b4f3d..d52f2d5348 100644 --- a/libavcodec/gifdec.c +++ b/libavcodec/gifdec.c @@ -187,6 +187,8 @@ static int gif_read_image(GifState *s) if (left + width > s->screen_width || top + height > s->screen_height) return AVERROR_INVALIDDATA; + if (width <= 0 || height <= 0) + return AVERROR_INVALIDDATA; /* process disposal method */ if (s->gce_prev_disposal == GCE_DISPOSAL_BACKGROUND) {