diff options
author | miod <> | 2014-06-20 10:40:13 +0000 |
---|---|---|
committer | miod <> | 2014-06-20 10:40:13 +0000 |
commit | 0c3728bc47ef9dec7437f0f8ab3a508fcde43b05 (patch) | |
tree | 2cf0be377eac462912ce01e719a67db70594ef0f /src | |
parent | db7fe5d435d76bf330977678fc224e78a96645ff (diff) | |
download | openbsd-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-x | src/lib/libcrypto/bn/asm/x86_64-mont.pl | 4 | ||||
-rwxr-xr-x | src/lib/libcrypto/bn/asm/x86_64-mont5.pl | 4 | ||||
-rwxr-xr-x | src/lib/libssl/src/crypto/bn/asm/x86_64-mont.pl | 4 | ||||
-rwxr-xr-x | src/lib/libssl/src/crypto/bn/asm/x86_64-mont5.pl | 4 |
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 | ||