From 6175efde3d4b2ec2cdac172cce0f2d1887705af2 Mon Sep 17 00:00:00 2001 From: Jeroen van Rijn Date: Mon, 5 Aug 2024 17:23:50 +0200 Subject: [PATCH] Fix crash if referencing import "aliased" in other file. Fixes #4026 --- src/check_expr.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/check_expr.cpp b/src/check_expr.cpp index b291cbe70..4bce42129 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -5158,6 +5158,14 @@ gb_internal Entity *check_selector(CheckerContext *c, Operand *operand, Ast *nod Scope *import_scope = e->ImportName.scope; String entity_name = selector->Ident.token.string; + if (import_scope == nullptr) { + ERROR_BLOCK(); + error(node, "'%.*s' is not imported in this file, '%.*s' is unavailable", LIT(import_name), LIT(entity_name)); + operand->mode = Addressing_Invalid; + operand->expr = node; + return nullptr; + } + check_op_expr = false; entity = scope_lookup_current(import_scope, entity_name); bool allow_builtin = false;