Fix crash in shader parsing

...that would happen if incorrect syntax was found just after an opening square bracket.

Fixes #12046.
This commit is contained in:
Pedro J. Estébanez 2017-10-16 21:55:42 +02:00
parent 8de1dc7e9a
commit 7764640f22
1 changed files with 2 additions and 0 deletions

View File

@ -2586,6 +2586,8 @@ ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, cons
} else if (tk.type == TK_BRACKET_OPEN) {
Node *index = _parse_and_reduce_expression(p_block, p_builtin_types);
if (!index)
return NULL;
if (index->get_datatype() != TYPE_INT && index->get_datatype() != TYPE_UINT) {
_set_error("Only integer datatypes are allowed for indexing");