Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
Delphi 10.2 Tokyo Enterprise
|
AW: MD5 unter x32 anders als unter x64
4. Jul 2016, 09:00
Der Bug ist unter XE2 reproduzierbar, unter Seattle ist er behoben.
Der Bug lag in den Indys in der Unit IdGlobalProtocols.pas.
Dort ist die Function ROL in der Version bei XE2 falsch implementiert.
Delphi-Quellcode:
function ROL( const AVal: LongWord; AShift: Byte): LongWord; assembler;
asm
mov cl, dl
rol eax, cl
end;
statt neu
Delphi-Quellcode:
// 32-bit: Arg1=EAX, Arg2=DL
// 64-bit: Arg1=ECX, Arg2=DL
function ROL( const AVal: UInt32; AShift: Byte): UInt32; assembler;
asm
{$IFDEF CPU64}
mov eax, ecx
{$ENDIF}
mov cl, dl
rol eax, cl
end;
Ein Update der Indys sollte also Abhilfe schaffen.
Viele Grüße...
Danke ich werde mal Updaten
Frank Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
|
|
Zitat
|