diff --git a/ChangeLog b/ChangeLog index 0a30fbd4966174846804918846cd86ab25dca609..8dc48dee7de46e64e801d9f0e1919b796f7ae29b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,8 @@ 2013-04-23 Niels Möller <nisse@lysator.liu.se> From Martin Storsjö: + * x86_64/salsa20-crypt.asm (Lpartial): Don't return via W64_EXIT + within this subfunction. * x86_64/machine.m4 (W64_ENTRY): Use movdqu instead of movdqa for saving xmm registers, since the stack is not guaranteed to be 16-byte aligned on win64. diff --git a/x86_64/salsa20-crypt.asm b/x86_64/salsa20-crypt.asm index 25b7e4973b298a100fd6d5e75fc6cc2573da962e..9d1b53d9f553fdd1c3bc14acfac08a45ec833fab 100644 --- a/x86_64/salsa20-crypt.asm +++ b/x86_64/salsa20-crypt.asm @@ -224,10 +224,11 @@ PROLOGUE(nettle_salsa20_crypt) shr $16, XREG(T64) .Llt2: test $1, LENGTH - jz .Lend + jz .Lret xor (SRC, POS), LREG(T64) mov LREG(T64), (DST, POS) - jmp .Lend +.Lret: + ret EPILOGUE(nettle_salsa20_crypt)