From cb063afa47589af464a2b3a4ffbe093cdb52e234 Mon Sep 17 00:00:00 2001 From: Stephen Heumann Date: Mon, 23 Dec 2019 20:34:54 -0600 Subject: [PATCH] Set expressionType to a default value when LoadAddress encounters an error. This can occur in cases such as trying to assign to a non-l-value. This patch ensures consistent handling of errors and prevents null pointer dereferences. --- Expression.pas | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Expression.pas b/Expression.pas index f7fbc20..8efd4be 100644 --- a/Expression.pas +++ b/Expression.pas @@ -2405,9 +2405,11 @@ var else if ExpressionKind(tree) in [arrayType,pointerType] then GenerateCode(tree) - else + else begin + expressionType := wordPtr; {set default type in case of error} if doDispose then {prevent spurious errors} Error(78); + end; {else} 1: end; {LoadAddress}