Explorar o código

Fix crash in shader parsing

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

Fixes #12046.
Pedro J. Estébanez %!s(int64=8) %!d(string=hai) anos
pai
achega
7764640f22
Modificáronse 1 ficheiros con 2 adicións e 0 borrados
  1. 2 0
      servers/visual/shader_language.cpp

+ 2 - 0
servers/visual/shader_language.cpp

@@ -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");