diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c index 516dd41f0c..985517d88d 100644 --- a/libavcodec/pngdec.c +++ b/libavcodec/pngdec.c @@ -546,6 +546,9 @@ static int decode_frame(AVCodecContext *avctx, for (;;) { if (bytestream2_get_bytes_left(&s->gb) <= 0) { av_log(avctx, AV_LOG_ERROR, "No bytes left\n"); + if ( s->state & PNG_ALLIMAGE + && avctx->strict_std_compliance <= FF_COMPLIANCE_NORMAL) + goto exit_loop; goto fail; }