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/lib/libc | |
| 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 '')
| -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 |
2 files changed, 4 insertions, 4 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 | ||
