aboutsummaryrefslogtreecommitdiff
path: root/crypto/aes/asm/aes-x86_64.pl
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2008-12-17 14:11:30 +0000
committerAndy Polyakov <appro@openssl.org>2008-12-17 14:11:30 +0000
commit6786f52ada04daba9733aef6a7050809bf6ce4d2 (patch)
tree410d202d912ef62b95071ed700a52ef6e4eae779 /crypto/aes/asm/aes-x86_64.pl
parent2e6a7b3efcd07b571c1d0146771094f37d8122b1 (diff)
downloadopenssl-6786f52ada04daba9733aef6a7050809bf6ce4d2.zip
openssl-6786f52ada04daba9733aef6a7050809bf6ce4d2.tar.gz
openssl-6786f52ada04daba9733aef6a7050809bf6ce4d2.tar.bz2
SEGV in AES_cbc_encrypt in aes-x86_64 assembler module.
PR: 1801 Submitted by: Huang Ying
Diffstat (limited to 'crypto/aes/asm/aes-x86_64.pl')
-rwxr-xr-xcrypto/aes/asm/aes-x86_64.pl5
1 files changed, 1 insertions, 4 deletions
diff --git a/crypto/aes/asm/aes-x86_64.pl b/crypto/aes/asm/aes-x86_64.pl
index d041507..c2b040a 100755
--- a/crypto/aes/asm/aes-x86_64.pl
+++ b/crypto/aes/asm/aes-x86_64.pl
@@ -1965,19 +1965,16 @@ AES_cbc_encrypt:
jmp .Lcbc_exit
.align 4
.Lcbc_slow_enc_tail:
- cmp $inp,$out
- je .Lcbc_slow_enc_in_place
mov %r10,%rcx
mov $inp,%rsi
mov $out,%rdi
.long 0x9066A4F3 # rep movsb
-.Lcbc_slow_enc_in_place:
mov \$16,%rcx # zero tail
sub %r10,%rcx
xor %rax,%rax
.long 0x9066AAF3 # rep stosb
mov $out,$inp # this is not a mistake!
- movq \$16,$_len # len=16
+ mov \$16,%r10 # len=16
jmp .Lcbc_slow_enc_loop # one more spin...
#--------------------------- SLOW DECRYPT ---------------------------#
.align 16