Mesa (master): mesa/st: Check for a NULL _LinkedShader[i] before using it.

Stephane Marchesin marcheu at kemper.freedesktop.org
Mon Oct 10 00:15:14 PDT 2011


Module: Mesa
Branch: master
Commit: ddba509c16c4cb0630a4f4841b31953f02be6b3f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ddba509c16c4cb0630a4f4841b31953f02be6b3f

Author: Stéphane Marchesin <marcheu at chromium.org>
Date:   Sun Oct  9 16:49:19 2011 -0700

mesa/st: Check for a NULL _LinkedShader[i] before using it.

The rest of the linker/glsl translation code checks for NULL, so I suppose we should check here too. Fixes crash on exit with i915g instanced drawing.

Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

---

 src/mesa/state_tracker/st_program.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c
index acd3b56..c419c40 100644
--- a/src/mesa/state_tracker/st_program.c
+++ b/src/mesa/state_tracker/st_program.c
@@ -1154,7 +1154,8 @@ destroy_shader_program_variants_cb(GLuint key, void *data, void *userData)
          }
 
 	 for (i = 0; i < Elements(shProg->_LinkedShaders); i++) {
-	    destroy_program_variants(st, shProg->_LinkedShaders[i]->Program);
+	    if (shProg->_LinkedShaders[i])
+               destroy_program_variants(st, shProg->_LinkedShaders[i]->Program);
 	 }
       }
       break;



More information about the mesa-commit mailing list