From 405fbcdfdbf63a61e000d939f1bb69da03a7cb4b Mon Sep 17 00:00:00 2001 From: blub Date: Sun, 3 Jan 2010 15:02:04 +0000 Subject: [PATCH] r_glsl_dumpshader: shaderpermutationinfo[i].pretext needs to be checked, otherwise it tries to use NULL in FS_Write and segfaults git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9773 d7cf8633-e32d-0410-b094-e92efae38249 --- gl_rmain.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gl_rmain.c b/gl_rmain.c index 1323fef2..32b747d4 100644 --- a/gl_rmain.c +++ b/gl_rmain.c @@ -4164,10 +4164,14 @@ void R_GLSL_DumpShader_f(void) { FS_Print(file, "/* The engine may define the following macros:\n"); FS_Print(file, "#define VERTEX_SHADER\n#define GEOMETRY_SHADER\n#define FRAGMENT_SHADER\n"); - for (i = 0;i < SHADERMODE_COUNT;i++) - FS_Print(file, glslshadermodeinfo[i].pretext); - for (i = 0;i < SHADERPERMUTATION_COUNT;i++) - FS_Print(file, shaderpermutationinfo[i].pretext); + for (i = 0;i < SHADERMODE_COUNT;i++) { + if (glslshadermodeinfo[i].pretext) + FS_Print(file, glslshadermodeinfo[i].pretext); + } + for (i = 0;i < SHADERPERMUTATION_COUNT;i++) { + if (shaderpermutationinfo[i].pretext) + FS_Print(file, shaderpermutationinfo[i].pretext); + } FS_Print(file, "*/\n"); FS_Print(file, builtinshaderstring); FS_Close(file); -- 2.39.2