summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Möller <ulf@openssl.org>2001-09-05 04:43:43 +0000
committerUlf Möller <ulf@openssl.org>2001-09-05 04:43:43 +0000
commitd98a4b73664d0331f90da4f9521d7eea5f4567e5 (patch)
tree09d0dceb72950507809ce8b9a858d292b8033588
parent889a54c4671acbf59adc399831525e50a5902580 (diff)
bug fix: bn_sqr_recursive output is twice its input size.
-rw-r--r--CHANGES3
-rw-r--r--crypto/bn/bn_sqr.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index d7195d9007..db742fcb50 100644
--- a/CHANGES
+++ b/CHANGES
@@ -12,6 +12,9 @@
*) applies to 0.9.6a/0.9.6b/0.9.6c and 0.9.7
+) applies to 0.9.7 only
+ *) BN_sqr() bug fix.
+ [Ulf Möller, reported by Jim Ellis <jim.ellis@cavium.com>]
+
*) Make it possible to unload ranges of ERR strings with a new
"ERR_unload_strings" function.
[Geoff Thorpe]
diff --git a/crypto/bn/bn_sqr.c b/crypto/bn/bn_sqr.c
index b75e6194d0..c1d0cca438 100644
--- a/crypto/bn/bn_sqr.c
+++ b/crypto/bn/bn_sqr.c
@@ -245,7 +245,7 @@ void bn_sqr_recursive(BN_ULONG *r, const BN_ULONG *a, int n2, BN_ULONG *t)
if (!zero)
bn_sqr_recursive(&(t[n2]),t,n,p);
else
- memset(&(t[n2]),0,n*sizeof(BN_ULONG));
+ memset(&(t[n2]),0,n2*sizeof(BN_ULONG));
bn_sqr_recursive(r,a,n,p);
bn_sqr_recursive(&(r[n2]),&(a[n]),n,p);