summaryrefslogtreecommitdiffstats
path: root/src/compiler/glsl
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2016-05-03 14:39:06 +1000
committerDave Airlie <[email protected]>2016-06-06 12:54:30 +1000
commit6702c1581092bce230742d02ebf9325f68bd247a (patch)
treed311c7c0c51528b13b144957e8641111175d2102 /src/compiler/glsl
parent4336196b7fc61166a36babdabdf5dd004ec9ee55 (diff)
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 <[email protected]> Cc: "11.2 12.0" <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/compiler/glsl')
-rw-r--r--src/compiler/glsl/ast_function.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/compiler/glsl/ast_function.cpp b/src/compiler/glsl/ast_function.cpp
index a97e6c96114..f74394fe1d3 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);