Browse Source

fcl-passrc: test exit in program begin-end

git-svn-id: trunk@35904 -
Mattias Gaertner 8 years ago
parent
commit
c212a71dff

+ 2 - 0
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

+ 2 - 0
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;