You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-18 14:21:41 +00:00
Merge pull request #43176 from mateosss/crash-uninit-const
Fix crash by adding nullcheck for uninitialized constants
This commit is contained in:
@@ -1163,6 +1163,7 @@ void GDScriptAnalyzer::resolve_variable(GDScriptParser::VariableNode *p_variable
|
|||||||
void GDScriptAnalyzer::resolve_constant(GDScriptParser::ConstantNode *p_constant) {
|
void GDScriptAnalyzer::resolve_constant(GDScriptParser::ConstantNode *p_constant) {
|
||||||
GDScriptParser::DataType type;
|
GDScriptParser::DataType type;
|
||||||
|
|
||||||
|
if (p_constant->initializer != nullptr) {
|
||||||
reduce_expression(p_constant->initializer);
|
reduce_expression(p_constant->initializer);
|
||||||
if (p_constant->initializer->type == GDScriptParser::Node::ARRAY) {
|
if (p_constant->initializer->type == GDScriptParser::Node::ARRAY) {
|
||||||
const_fold_array(static_cast<GDScriptParser::ArrayNode *>(p_constant->initializer));
|
const_fold_array(static_cast<GDScriptParser::ArrayNode *>(p_constant->initializer));
|
||||||
@@ -1181,6 +1182,7 @@ void GDScriptAnalyzer::resolve_constant(GDScriptParser::ConstantNode *p_constant
|
|||||||
parser->push_warning(p_constant->initializer, GDScriptWarning::VOID_ASSIGNMENT, static_cast<GDScriptParser::CallNode *>(p_constant->initializer)->function_name);
|
parser->push_warning(p_constant->initializer, GDScriptWarning::VOID_ASSIGNMENT, static_cast<GDScriptParser::CallNode *>(p_constant->initializer)->function_name);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
if (p_constant->datatype_specifier != nullptr) {
|
if (p_constant->datatype_specifier != nullptr) {
|
||||||
GDScriptParser::DataType explicit_type = resolve_datatype(p_constant->datatype_specifier);
|
GDScriptParser::DataType explicit_type = resolve_datatype(p_constant->datatype_specifier);
|
||||||
|
|||||||
Reference in New Issue
Block a user