diff --git a/libavcodec/dfa.c b/libavcodec/dfa.c index 7336e8cb4f..e4b940cc60 100644 --- a/libavcodec/dfa.c +++ b/libavcodec/dfa.c @@ -20,6 +20,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/avassert.h" #include "avcodec.h" #include "bytestream.h" @@ -36,12 +37,13 @@ typedef struct DfaContext { static av_cold int dfa_decode_init(AVCodecContext *avctx) { DfaContext *s = avctx->priv_data; - int ret; avctx->pix_fmt = PIX_FMT_PAL8; - if ((ret = av_image_check_size(avctx->width, avctx->height, 0, avctx)) < 0) - return ret; + if (!avctx->width || !avctx->height) + return AVERROR_INVALIDDATA; + + av_assert0(av_image_check_size(avctx->width, avctx->height, 0, avctx) >= 0); s->frame_buf = av_mallocz(avctx->width * avctx->height + AV_LZO_OUTPUT_PADDING); if (!s->frame_buf)