소스 검색

* Do not access fields of potentially unassigned resultdef. p1.resultdef is not assigned at this point when dotypecheck=false. Mantis #20765.

git-svn-id: trunk@19694 -
sergei 13 년 전
부모
커밋
816953990d
1개의 변경된 파일1개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      compiler/pexpr.pas

+ 1 - 1
compiler/pexpr.pas

@@ -3094,7 +3094,7 @@ implementation
            _ASSIGNMENT :
            _ASSIGNMENT :
              begin
              begin
                 consume(_ASSIGNMENT);
                 consume(_ASSIGNMENT);
-                if (p1.resultdef.typ=procvardef) then
+                if assigned(p1.resultdef) and (p1.resultdef.typ=procvardef) then
                   getprocvardef:=tprocvardef(p1.resultdef);
                   getprocvardef:=tprocvardef(p1.resultdef);
                 p2:=sub_expr(opcompare,true,false);
                 p2:=sub_expr(opcompare,true,false);
                 if assigned(getprocvardef) then
                 if assigned(getprocvardef) then