From c212a71dffb1012c049b5034424a0aa18b260438 Mon Sep 17 00:00:00 2001 From: Mattias Gaertner Date: Sat, 22 Apr 2017 15:52:48 +0000 Subject: [PATCH] fcl-passrc: test exit in program begin-end git-svn-id: trunk@35904 - --- packages/fcl-passrc/src/pasresolver.pp | 2 ++ packages/fcl-passrc/tests/tcresolver.pas | 2 ++ 2 files changed, 4 insertions(+) diff --git a/packages/fcl-passrc/src/pasresolver.pp b/packages/fcl-passrc/src/pasresolver.pp index f976ea3949..255fd56a19 100644 --- a/packages/fcl-passrc/src/pasresolver.pp +++ b/packages/fcl-passrc/src/pasresolver.pp @@ -9076,6 +9076,8 @@ procedure TPasResolver.RaiseIncompatibleTypeDesc(id: int64; MsgNumber: integer; function GetString(ArgNo: integer): string; begin + if ArgNo>=High(Args) then + exit('invalid param '+IntToStr(ArgNo)); case Args[ArgNo].VType of vtAnsiString: Result:=AnsiString(Args[ArgNo].VAnsiString); else diff --git a/packages/fcl-passrc/tests/tcresolver.pas b/packages/fcl-passrc/tests/tcresolver.pas index a5d10c917a..b4ed183500 100644 --- a/packages/fcl-passrc/tests/tcresolver.pas +++ b/packages/fcl-passrc/tests/tcresolver.pas @@ -4256,6 +4256,8 @@ begin Add(' exit(''abc'');'); Add('end;'); Add('begin'); + Add(' exit;'); + Add(' exit(4);'); ParseProgram; end;