diff --git a/libavcodec/pnm.c b/libavcodec/pnm.c index 536b344923..43438b7cef 100644 --- a/libavcodec/pnm.c +++ b/libavcodec/pnm.c @@ -140,6 +140,10 @@ int ff_pnm_decode_header(AVCodecContext *avctx, PNMContext * const s) if (avctx->pix_fmt != PIX_FMT_MONOWHITE) { pnm_get(s, buf1, sizeof(buf1)); s->maxval = atoi(buf1); + if (s->maxval <= 0) { + av_log(avctx, AV_LOG_ERROR, "Invalid maxval: %d\n", s->maxval); + return -1; + } if (s->maxval >= 256) { if (avctx->pix_fmt == PIX_FMT_GRAY8) { avctx->pix_fmt = PIX_FMT_GRAY16BE;