summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormiod <>2014-06-20 10:40:13 +0000
committermiod <>2014-06-20 10:40:13 +0000
commit0c3728bc47ef9dec7437f0f8ab3a508fcde43b05 (patch)
tree2cf0be377eac462912ce01e719a67db70594ef0f /src
parentdb7fe5d435d76bf330977678fc224e78a96645ff (diff)
downloadopenbsd-0c3728bc47ef9dec7437f0f8ab3a508fcde43b05.tar.gz
openbsd-0c3728bc47ef9dec7437f0f8ab3a508fcde43b05.tar.bz2
openbsd-0c3728bc47ef9dec7437f0f8ab3a508fcde43b05.zip
Fix incorrect bounds check in amd64 assembly version of bn_mul_mont();
noticed and fix by Fedor Indutny of Joyent ( https://github.com/joyent/node/issues/7704 )
Diffstat (limited to 'src')
-rwxr-xr-xsrc/lib/libcrypto/bn/asm/x86_64-mont.pl4
-rwxr-xr-xsrc/lib/libcrypto/bn/asm/x86_64-mont5.pl4
-rwxr-xr-xsrc/lib/libssl/src/crypto/bn/asm/x86_64-mont.pl4
-rwxr-xr-xsrc/lib/libssl/src/crypto/bn/asm/x86_64-mont5.pl4
4 files changed, 8 insertions, 8 deletions
diff --git a/src/lib/libcrypto/bn/asm/x86_64-mont.pl b/src/lib/libcrypto/bn/asm/x86_64-mont.pl
index 90c717f115..c35493e80a 100755
--- a/src/lib/libcrypto/bn/asm/x86_64-mont.pl
+++ b/src/lib/libcrypto/bn/asm/x86_64-mont.pl
@@ -138,7 +138,7 @@ $code.=<<___;
138 138
139 mulq $m1 # np[j]*m1 139 mulq $m1 # np[j]*m1
140 cmp $num,$j 140 cmp $num,$j
141 jne .L1st 141 jl .L1st
142 142
143 add %rax,$hi1 143 add %rax,$hi1
144 mov ($ap),%rax # ap[0] 144 mov ($ap),%rax # ap[0]
@@ -204,7 +204,7 @@ $code.=<<___;
204 204
205 mulq $m1 # np[j]*m1 205 mulq $m1 # np[j]*m1
206 cmp $num,$j 206 cmp $num,$j
207 jne .Linner 207 jl .Linner
208 208
209 add %rax,$hi1 209 add %rax,$hi1
210 mov ($ap),%rax # ap[0] 210 mov ($ap),%rax # ap[0]
diff --git a/src/lib/libcrypto/bn/asm/x86_64-mont5.pl b/src/lib/libcrypto/bn/asm/x86_64-mont5.pl
index dae0fe2453..9c88884d42 100755
--- a/src/lib/libcrypto/bn/asm/x86_64-mont5.pl
+++ b/src/lib/libcrypto/bn/asm/x86_64-mont5.pl
@@ -181,7 +181,7 @@ $code.=<<___;
181 181
182 mulq $m1 # np[j]*m1 182 mulq $m1 # np[j]*m1
183 cmp $num,$j 183 cmp $num,$j
184 jne .L1st 184 jl .L1st
185 185
186 movq %xmm0,$m0 # bp[1] 186 movq %xmm0,$m0 # bp[1]
187 187
@@ -264,7 +264,7 @@ $code.=<<___;
264 264
265 mulq $m1 # np[j]*m1 265 mulq $m1 # np[j]*m1
266 cmp $num,$j 266 cmp $num,$j
267 jne .Linner 267 jl .Linner
268 268
269 movq %xmm0,$m0 # bp[i+1] 269 movq %xmm0,$m0 # bp[i+1]
270 270
diff --git a/src/lib/libssl/src/crypto/bn/asm/x86_64-mont.pl b/src/lib/libssl/src/crypto/bn/asm/x86_64-mont.pl
index 90c717f115..c35493e80a 100755
--- a/src/lib/libssl/src/crypto/bn/asm/x86_64-mont.pl
+++ b/src/lib/libssl/src/crypto/bn/asm/x86_64-mont.pl
@@ -138,7 +138,7 @@ $code.=<<___;
138 138
139 mulq $m1 # np[j]*m1 139 mulq $m1 # np[j]*m1
140 cmp $num,$j 140 cmp $num,$j
141 jne .L1st 141 jl .L1st
142 142
143 add %rax,$hi1 143 add %rax,$hi1
144 mov ($ap),%rax # ap[0] 144 mov ($ap),%rax # ap[0]
@@ -204,7 +204,7 @@ $code.=<<___;
204 204
205 mulq $m1 # np[j]*m1 205 mulq $m1 # np[j]*m1
206 cmp $num,$j 206 cmp $num,$j
207 jne .Linner 207 jl .Linner
208 208
209 add %rax,$hi1 209 add %rax,$hi1
210 mov ($ap),%rax # ap[0] 210 mov ($ap),%rax # ap[0]
diff --git a/src/lib/libssl/src/crypto/bn/asm/x86_64-mont5.pl b/src/lib/libssl/src/crypto/bn/asm/x86_64-mont5.pl
index dae0fe2453..9c88884d42 100755
--- a/src/lib/libssl/src/crypto/bn/asm/x86_64-mont5.pl
+++ b/src/lib/libssl/src/crypto/bn/asm/x86_64-mont5.pl
@@ -181,7 +181,7 @@ $code.=<<___;
181 181
182 mulq $m1 # np[j]*m1 182 mulq $m1 # np[j]*m1
183 cmp $num,$j 183 cmp $num,$j
184 jne .L1st 184 jl .L1st
185 185
186 movq %xmm0,$m0 # bp[1] 186 movq %xmm0,$m0 # bp[1]
187 187
@@ -264,7 +264,7 @@ $code.=<<___;
264 264
265 mulq $m1 # np[j]*m1 265 mulq $m1 # np[j]*m1
266 cmp $num,$j 266 cmp $num,$j
267 jne .Linner 267 jl .Linner
268 268
269 movq %xmm0,$m0 # bp[i+1] 269 movq %xmm0,$m0 # bp[i+1]
270 270