From 603ebab8d7b789cd3cb6c7ca645a7badb5b950b4 Mon Sep 17 00:00:00 2001 From: Andreas Cadhalpun Date: Fri, 13 Nov 2015 21:48:27 +0100 Subject: [PATCH] dds: disable palette flag for compressed dds Having both is not valid and can cause a NULL pointer dereference of frame->data[1] later. Reviewed-by: Vittorio Giovara Signed-off-by: Andreas Cadhalpun --- libavcodec/dds.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavcodec/dds.c b/libavcodec/dds.c index f04a4f5a6e..d473fd14cf 100644 --- a/libavcodec/dds.c +++ b/libavcodec/dds.c @@ -141,6 +141,12 @@ static int parse_pixel_format(AVCodecContext *avctx) normal_map = flags & DDPF_NORMALMAP; fourcc = bytestream2_get_le32(gbc); + if (ctx->compressed && ctx->paletted) { + av_log(avctx, AV_LOG_WARNING, + "Disabling invalid palette flag for compressed dds.\n"); + ctx->paletted = 0; + } + bpp = bytestream2_get_le32(gbc); // rgbbitcount r = bytestream2_get_le32(gbc); // rbitmask g = bytestream2_get_le32(gbc); // gbitmask