[Mesa-dev] [PATCH v2] glsl: do not attempt assignment if operand type not parsed correctly
Ian Romanick
idr at freedesktop.org
Sat Oct 6 00:55:50 UTC 2018
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
On 09/25/2018 07:04 AM, Tapani Pälli wrote:
> v2: check types of both operands (Ian)
>
> Cc: mesa-stable at lists.freedesktop.org
> Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108012
> ---
> src/compiler/glsl/ast_to_hir.cpp | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp
> index 93e7c8ec334..1082d6c91cf 100644
> --- a/src/compiler/glsl/ast_to_hir.cpp
> +++ b/src/compiler/glsl/ast_to_hir.cpp
> @@ -1685,6 +1685,12 @@ ast_expression::do_hir(exec_list *instructions,
> op[1] = this->subexpressions[1]->hir(instructions, state);
>
> orig_type = op[0]->type;
> +
> + /* Break out if operand types were not parsed successfully. */
> + if ((op[0]->type == glsl_type::error_type ||
> + op[1]->type == glsl_type::error_type))
> + break;
> +
> type = arithmetic_result_type(op[0], op[1],
> (this->oper == ast_mul_assign),
> state, & loc);
>
More information about the mesa-dev
mailing list