فهرست منبع

Add explicit zeroing of trttiparaloc record to avoid hash calculation issues

git-svn-id: trunk@49339 -
pierre 4 سال پیش
والد
کامیت
0a4f75ce7a
1فایلهای تغییر یافته به همراه6 افزوده شده و 0 حذف شده
  1. 6 0
      compiler/paramgr.pas

+ 6 - 0
compiler/paramgr.pas

@@ -801,6 +801,12 @@ implementation
       var
       var
         reg : tregisterrec;
         reg : tregisterrec;
       begin
       begin
+        { Explicitly zero the whole record, to avoid
+          trouble as this record is used as is in a
+          hash calculation, which might give unreliable
+          results if the record as gaps between fields
+          due to field alignment. PM 2021-05-06 }
+        fillchar(result,sizeof(trttiparaloc),#0);
         if paraloc^.Loc=LOC_REFERENCE then
         if paraloc^.Loc=LOC_REFERENCE then
           begin
           begin
             reg:=tregisterrec(paraloc^.reference.index);
             reg:=tregisterrec(paraloc^.reference.index);