From f78d04eba876545e08dccc5b78dff6f9db14753d Mon Sep 17 00:00:00 2001 From: SmileTheory Date: Fri, 18 Dec 2015 19:42:15 -0800 Subject: [PATCH] OpenGL2: Add null dereference checks to DDS loader. --- code/renderergl2/tr_image_dds.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/code/renderergl2/tr_image_dds.c b/code/renderergl2/tr_image_dds.c index 578b3eda..8ad406fd 100644 --- a/code/renderergl2/tr_image_dds.c +++ b/code/renderergl2/tr_image_dds.c @@ -292,13 +292,18 @@ void R_LoadDDS ( const char *filename, byte **pic, int *width, int *height, GLen len -= 4 + sizeof(*ddsHeader); } - *width = ddsHeader->width; - *height = ddsHeader->height; + if (width) + *width = ddsHeader->width; + if (height) + *height = ddsHeader->height; - if (ddsHeader->flags & _DDSFLAGS_MIPMAPCOUNT) - *numMips = ddsHeader->numMips; - else - *numMips = 1; + if (numMips) + { + if (ddsHeader->flags & _DDSFLAGS_MIPMAPCOUNT) + *numMips = ddsHeader->numMips; + else + *numMips = 1; + } // FIXME: handle cube map //if ((ddsHeader->caps2 & DDSCAPS2_CUBEMAP) == DDSCAPS2_CUBEMAP)