瀏覽代碼

fcl-passrc: test exit in program begin-end

git-svn-id: trunk@35904 -
Mattias Gaertner 8 年之前
父節點
當前提交
c212a71dff
共有 2 個文件被更改,包括 4 次插入0 次删除
  1. 2 0
      packages/fcl-passrc/src/pasresolver.pp
  2. 2 0
      packages/fcl-passrc/tests/tcresolver.pas

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