Browse Source

* fix crash in operator search

git-svn-id: trunk@539 -
peter 20 years ago
parent
commit
9d40db6bb6
1 changed files with 4 additions and 2 deletions
  1. 4 2
      compiler/symsym.pas

+ 4 - 2
compiler/symsym.pas

@@ -1019,10 +1019,12 @@ implementation
              begin
              begin
                i:=0;
                i:=0;
                { ignore vs_hidden parameters }
                { ignore vs_hidden parameters }
-               while assigned(pd^.def.paras[i]) and
+               while (i<pd^.def.paras.count) and
+                     assigned(pd^.def.paras[i]) and
                      (vo_is_hidden_para in tparavarsym(pd^.def.paras[i]).varoptions) do
                      (vo_is_hidden_para in tparavarsym(pd^.def.paras[i]).varoptions) do
                  inc(i);
                  inc(i);
-               if assigned(pd^.def.paras[i]) then
+               if (i<pd^.def.paras.count) and
+                  assigned(pd^.def.paras[i]) then
                 begin
                 begin
                   eq:=compare_defs_ext(fromdef,tparavarsym(pd^.def.paras[i]).vartype.def,nothingn,convtyp,hpd,[]);
                   eq:=compare_defs_ext(fromdef,tparavarsym(pd^.def.paras[i]).vartype.def,nothingn,convtyp,hpd,[]);