Parcourir la source

Merge pull request #33130 from Chaosus/fix_shader_crash

Fix shader crash if non-boolean expression inserted into "if"
Rémi Verschelde il y a 5 ans
Parent
commit
5014baf34b
1 fichiers modifiés avec 5 ajouts et 0 suppressions
  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");