diff options
author | Dave Airlie <[email protected]> | 2016-05-03 14:39:06 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2016-06-06 12:54:30 +1000 |
commit | 6702c1581092bce230742d02ebf9325f68bd247a (patch) | |
tree | d311c7c0c51528b13b144957e8641111175d2102 | |
parent | 4336196b7fc61166a36babdabdf5dd004ec9ee55 (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]>
-rw-r--r-- | src/compiler/glsl/ast_function.cpp | 4 |
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); |