Mesa (master): glsl: don' t crash if a field is specified for a non-struct uniform

Kenneth Graunke kwg at kemper.freedesktop.org
Fri Aug 20 20:02:23 UTC 2010


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

Author: Luca Barbieri <luca at luca-barbieri.com>
Date:   Wed Aug 18 12:52:56 2010 +0200

glsl: don't crash if a field is specified for a non-struct uniform

This was triggered by the previous bug, but is a separate problem
in the general sense.

---

 src/mesa/program/ir_to_mesa.cpp |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp
index 1fbf574..fe2d898 100644
--- a/src/mesa/program/ir_to_mesa.cpp
+++ b/src/mesa/program/ir_to_mesa.cpp
@@ -1145,7 +1145,7 @@ get_builtin_uniform_reg(struct gl_program *prog,
       if (!field && statevars[i].field) {
 	 assert(!"FINISHME: whole-structure state var dereference");
       }
-      if (field && strcmp(statevars[i].field, field) != 0)
+      if (field && (!statevars[i].field || strcmp(statevars[i].field, field) != 0))
 	 continue;
       break;
    }




More information about the mesa-commit mailing list