mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-12 09:06:02 +02:00
* fix padding on 64 bit big endian CPUs in TInterfaceEntry: wrong offset of a member caused memory corruption and then access violations during object creation. Fixes timplements* tests.
git-svn-id: trunk@11031 -
This commit is contained in:
parent
873409cd3c
commit
94ead30261
@ -125,7 +125,11 @@
|
|||||||
IOffset : ptruint;
|
IOffset : ptruint;
|
||||||
IIDStr : pshortstring; { never nil. Com: upper(GuidToString(IID^)) }
|
IIDStr : pshortstring; { never nil. Com: upper(GuidToString(IID^)) }
|
||||||
case boolean of
|
case boolean of
|
||||||
|
{$ifdef ENDIAN_BIG}
|
||||||
|
true : ({$IFDEF CPU64}__pad: longint;{$ENDIF}IType : tinterfaceentrytype);
|
||||||
|
{$else ENDIAN_BIG}
|
||||||
true : (IType : tinterfaceentrytype);
|
true : (IType : tinterfaceentrytype);
|
||||||
|
{$endif ENDIAN_BIG}
|
||||||
false : (__pad_dummy : pointer);
|
false : (__pad_dummy : pointer);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user