Einzelnen Beitrag anzeigen

franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#8

AW: MD5 unter x32 anders als unter x64

  Alt 4. Jul 2016, 08: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;
  Mit Zitat antworten Zitat