Selaa lähdekoodia

Fix shader crash if non-boolean expression inserted into "if"

Yuri Roubinsky 5 vuotta sitten
vanhempi
commit
ef6161532d
1 muutettua tiedostoa jossa 5 lisäystä ja 0 poistoa
  1. 5 0
      servers/visual/shader_language.cpp

+ 5 - 0
servers/visual/shader_language.cpp

@@ -4143,6 +4143,11 @@ Error ShaderLanguage::_parse_block(BlockNode *p_block, const Map<StringName, Bui
 			if (!n)
 				return ERR_PARSE_ERROR;
 
+			if (n->get_datatype() != TYPE_BOOL) {
+				_set_error("Expected boolean expression");
+				return ERR_PARSE_ERROR;
+			}
+
 			tk = _get_token();
 			if (tk.type != TK_PARENTHESIS_CLOSE) {
 				_set_error("Expected ')' after expression");