summaryrefslogtreecommitdiffstats
path: root/crypto/bn/bn_sqr.c
diff options
context:
space:
mode:
authorGeoff Thorpe <geoff@openssl.org>2004-03-17 18:36:54 +0100
committerGeoff Thorpe <geoff@openssl.org>2004-03-17 18:36:54 +0100
commite042540f6bb0ebd8acf5c2ab0ccd1f14b5fc0f77 (patch)
tree45cc4498f4011adb6d3a20a608f131b01bcc2c7a /crypto/bn/bn_sqr.c
parentAvoid warnings. (diff)
downloadopenssl-e042540f6bb0ebd8acf5c2ab0ccd1f14b5fc0f77.tar.xz
openssl-e042540f6bb0ebd8acf5c2ab0ccd1f14b5fc0f77.zip
Variety of belt-tightenings in the bignum code. (Please help test this!)
- Remove some unnecessary "+1"-like fudges. Sizes should be handled exactly, as enlarging size parameters causes needless bloat and may just make bugs less likely rather than fixing them: bn_expand() macro, bn_expand_internal(), and BN_sqr(). - Deprecate bn_dup_expand() - it's new since 0.9.7, unused, and not that useful. - Remove unnecessary zeroing of unused bytes in bn_expand2(). - Rewrite BN_set_word() - it should be much simpler, the previous complexities probably date from old mismatched type issues. - Add missing bn_check_top() macros in bn_word.c - Improve some degenerate case handling in BN_[add|sub]_word(), add comments, and avoid a bignum expansion if an overflow isn't possible.
Diffstat (limited to 'crypto/bn/bn_sqr.c')
-rw-r--r--crypto/bn/bn_sqr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/crypto/bn/bn_sqr.c b/crypto/bn/bn_sqr.c
index 8831daa390..3b4b3f0d38 100644
--- a/crypto/bn/bn_sqr.c
+++ b/crypto/bn/bn_sqr.c
@@ -86,7 +86,7 @@ int BN_sqr(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx)
if (!rr || !tmp) goto err;
max = 2 * al; /* Non-zero (from above) */
- if (bn_wexpand(rr,max+1) == NULL) goto err;
+ if (bn_wexpand(rr,max) == NULL) goto err;
if (al == 4)
{