summaryrefslogtreecommitdiffstats
path: root/src/glsl/main.cpp
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2011-07-28 15:10:17 -0700
committerIan Romanick <ian.d.romanick@intel.com>2011-08-02 08:23:15 -0700
commit89193933cbd322cd08fb54232411a8a9221fcca8 (patch)
treedb9a6c9778c1ff35a819a7b2a4293604912c107e /src/glsl/main.cpp
parent379a32f42ebca9feeb024633f7774661619fd62e (diff)
downloadexternal_mesa3d-89193933cbd322cd08fb54232411a8a9221fcca8.zip
external_mesa3d-89193933cbd322cd08fb54232411a8a9221fcca8.tar.gz
external_mesa3d-89193933cbd322cd08fb54232411a8a9221fcca8.tar.bz2
mesa: Ensure that gl_shader_program::InfoLog is never NULL
This prevents assertion failures in ralloc_strcat. The ralloc_free in _mesa_free_shader_program_data can be omitted because freeing the gl_shader_program in _mesa_delete_shader_program will take care of this automatically. A bunch of this code could use a refactor to use ralloc a bit more effectively. A bunch of the things that are allocated with malloc and owned by the gl_shader_program should be allocated with ralloc (using the gl_shader_program as the context). Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'src/glsl/main.cpp')
-rw-r--r--src/glsl/main.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/glsl/main.cpp b/src/glsl/main.cpp
index 9f85096..9b8a507 100644
--- a/src/glsl/main.cpp
+++ b/src/glsl/main.cpp
@@ -221,6 +221,7 @@ main(int argc, char **argv)
whole_program = rzalloc (NULL, struct gl_shader_program);
assert(whole_program != NULL);
+ whole_program->InfoLog = ralloc_strdup(whole_program, "");
for (/* empty */; argc > optind; optind++) {
whole_program->Shaders =