diff --git a/libavcodec/exr.c b/libavcodec/exr.c index 216d216785..c80e8eb5e0 100644 --- a/libavcodec/exr.c +++ b/libavcodec/exr.c @@ -1751,7 +1751,8 @@ static int decode_frame(AVCodecContext *avctx, void *data, /* Verify the xmin, xmax, ymin and ymax before setting the actual image size. * It's possible for the data window can larger or outside the display window */ - if (s->xmin > s->xmax || s->ymin > s->ymax) { + if (s->xmin > s->xmax || s->ymin > s->ymax || + s->ydelta == 0xFFFFFFFF || s->xdelta == 0xFFFFFFFF) { av_log(avctx, AV_LOG_ERROR, "Wrong or missing size information.\n"); return AVERROR_INVALIDDATA; }