diff options
| author | Rémi Verschelde <rverschelde@gmail.com> | 2019-10-28 08:38:46 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-10-28 08:38:46 +0100 |
| commit | 5014baf34be94d5dbfaf80e778c1b90c8998340f (patch) | |
| tree | 1335fa47fc4274403571c45154621bbbe771a76f | |
| parent | 63c5cd7eb89c5e7d24465b910eb6015b344c3f5f (diff) | |
| parent | ef6161532dbd579fed2c537e76ff0ea60d32595c (diff) | |
Merge pull request #33130 from Chaosus/fix_shader_crash
Fix shader crash if non-boolean expression inserted into "if"
| -rw-r--r-- | servers/visual/shader_language.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/servers/visual/shader_language.cpp b/servers/visual/shader_language.cpp index 41a6b27b84..4e5e816c02 100644 --- a/servers/visual/shader_language.cpp +++ b/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"); |