From 0a8bff788b0a9f96b863f0e836a235cb1d223f55 Mon Sep 17 00:00:00 2001 From: Andreas Cadhalpun Date: Fri, 13 Nov 2015 21:48:27 +0100 Subject: dds: disable palette flag for compressed images Having both is not valid and can cause a NULL pointer dereference of frame->data[1] later. Signed-off-by: Andreas Cadhalpun Signed-off-by: Vittorio Giovara --- libavcodec/dds.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'libavcodec/dds.c') diff --git a/libavcodec/dds.c b/libavcodec/dds.c index ea58da0877..3b7e7f67e9 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 -- cgit v1.2.3