diff options
-rw-r--r-- | libavcodec/psd.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libavcodec/psd.c b/libavcodec/psd.c index 4d6b0e305f..66f2ec28d7 100644 --- a/libavcodec/psd.c +++ b/libavcodec/psd.c @@ -319,6 +319,12 @@ static int decode_frame(AVCodecContext *avctx, void *data, switch (s->color_mode) { case PSD_BITMAP: + if (s->channel_depth != 1 || s->channel_count != 1) { + av_log(s->avctx, AV_LOG_ERROR, + "Invalid bitmap file (channel_depth %d, channel_count %d)\n", + s->channel_depth, s->channel_count); + return AVERROR_INVALIDDATA; + } s->line_size = s->width + 7 >> 3; avctx->pix_fmt = AV_PIX_FMT_MONOWHITE; break; |