Mesa (master): glsl/ast: don't crash when func_name is NULL

Dave Airlie airlied at kemper.freedesktop.org
Mon Jun 6 02:55:24 UTC 2016


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

Author: Dave Airlie <airlied at redhat.com>
Date:   Tue May  3 14:39:06 2016 +1000

glsl/ast: don't crash when func_name is NULL

This fixes a crash in
GL43-CTS.shader_subroutine.subroutines_not_allowed_as_variables_constructors_and_argument_or_return_types

If we can't find the func_name in one of these paths,
we have emitted an earlier error so just return here.

Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>
Cc: "11.2 12.0" <mesa-stable at lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied at redhat.com>

---

 src/compiler/glsl/ast_function.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/compiler/glsl/ast_function.cpp b/src/compiler/glsl/ast_function.cpp
index a97e6c9..f74394f 100644
--- a/src/compiler/glsl/ast_function.cpp
+++ b/src/compiler/glsl/ast_function.cpp
@@ -2078,6 +2078,10 @@ ast_function_expression::hir(exec_list *instructions,
          func_name = id->primary_expression.identifier;
       }
 
+      /* an error was emitted earlier */
+      if (!func_name)
+         return ir_rvalue::error_value(ctx);
+
       ir_function_signature *sig =
 	 match_function_by_name(func_name, &actual_parameters, state);
 




More information about the mesa-commit mailing list