diff --git a/libavcodec/pnm.c b/libavcodec/pnm.c index 791829b737..ac451ca5ed 100644 --- a/libavcodec/pnm.c +++ b/libavcodec/pnm.c @@ -125,7 +125,12 @@ int ff_pnm_decode_header(AVCodecContext *avctx, PNMContext * const s) avctx->pix_fmt = PIX_FMT_RGB48BE; } } else if (depth == 4) { - avctx->pix_fmt = PIX_FMT_RGB32; + if (maxval < 256) { + avctx->pix_fmt = PIX_FMT_RGB32; + } else { + av_log(avctx, AV_LOG_ERROR, "Unsupported bit depth\n"); + return -1; + } } else { return -1; }