Check _mesa_new_parameter_list() returned other than null. Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikk...@gmail.com> --- src/mesa/drivers/dri/i965/brw_link.cpp | 4 ++++ src/mesa/main/ff_fragment_shader.cpp | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_link.cpp b/src/mesa/drivers/dri/i965/brw_link.cpp index db4ba88..5411fb8 100644 --- a/src/mesa/drivers/dri/i965/brw_link.cpp +++ b/src/mesa/drivers/dri/i965/brw_link.cpp @@ -221,6 +221,10 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *shProg) if (!prog) return false; prog->Parameters = _mesa_new_parameter_list(); + if (!prog->Parameters) { + _mesa_error(ctx, GL_OUT_OF_MEMORY, "brw_link_shader"); + return false; + } _mesa_copy_linked_program_data((gl_shader_stage) stage, shProg, prog); diff --git a/src/mesa/main/ff_fragment_shader.cpp b/src/mesa/main/ff_fragment_shader.cpp index b0ce8c4..611deff 100644 --- a/src/mesa/main/ff_fragment_shader.cpp +++ b/src/mesa/main/ff_fragment_shader.cpp @@ -1264,9 +1264,11 @@ create_new_program(struct gl_context *ctx, struct state_key *key) _mesa_glsl_link_shader(ctx, p.shader_program); - if (!p.shader_program->LinkStatus) + if (!p.shader_program->LinkStatus) { _mesa_problem(ctx, "Failed to link fixed function fragment shader: %s\n", - p.shader_program->InfoLog); + (p.shader_program->InfoLog)?p.shader_program->InfoLog: + "Out of Memory"); + } ralloc_free(p.mem_ctx); return p.shader_program; -- 1.9.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev