summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/gdscript_analyzer.cpp
diff options
context:
space:
mode:
authorYuri Sizov <yuris@humnom.net>2023-06-20 17:04:57 +0200
committerYuri Sizov <yuris@humnom.net>2023-06-20 17:04:57 +0200
commitf1e79e2581047f954cd7739f2c5f7c45775131ae (patch)
treeb88f9f016026990c141635ce18a18b4a0a3e12e2 /modules/gdscript/gdscript_analyzer.cpp
parent248e5245e41ed80069eca12fcb523092fe848f28 (diff)
downloadredot-engine-f1e79e2581047f954cd7739f2c5f7c45775131ae.tar.gz
Make container element type comparison safe
Diffstat (limited to 'modules/gdscript/gdscript_analyzer.cpp')
-rw-r--r--modules/gdscript/gdscript_analyzer.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/modules/gdscript/gdscript_analyzer.cpp b/modules/gdscript/gdscript_analyzer.cpp
index 18917ddc32..9d39cbf1a5 100644
--- a/modules/gdscript/gdscript_analyzer.cpp
+++ b/modules/gdscript/gdscript_analyzer.cpp
@@ -5003,7 +5003,7 @@ GDScriptParser::DataType GDScriptAnalyzer::get_operation_type(Variant::Operator
bool hard_operation = p_a.is_hard_type() && p_b.is_hard_type();
if (p_operation == Variant::OP_ADD && a_type == Variant::ARRAY && b_type == Variant::ARRAY) {
- if (p_a.get_container_element_type() == p_a.get_container_element_type()) {
+ if (p_a.has_container_element_type() && p_b.has_container_element_type() && p_a.get_container_element_type() == p_b.get_container_element_type()) {
r_valid = true;
result = p_a;
result.type_source = hard_operation ? GDScriptParser::DataType::ANNOTATED_INFERRED : GDScriptParser::DataType::INFERRED;