From d59c7c81e3850dc667d61047850c3b6936eb5fca Mon Sep 17 00:00:00 2001 From: Rich Salz Date: Sat, 21 Nov 2015 08:27:46 -0500 Subject: [PATCH] Remove BN_init Rename it to be an internal function bn_init. Reviewed-by: Tim Hudson --- crypto/bn/bn_ctx.c | 2 +- crypto/bn/bn_gcd.c | 4 ++-- crypto/bn/bn_lcl.h | 2 +- crypto/bn/bn_lib.c | 6 ++++-- crypto/bn/bn_mont.c | 8 ++++---- crypto/bn/bn_recp.c | 4 ++-- doc/crypto/BN_new.pod | 22 ++-------------------- 7 files changed, 16 insertions(+), 32 deletions(-) diff --git a/crypto/bn/bn_ctx.c b/crypto/bn/bn_ctx.c index 19ff68e1eb..be7a20d634 100644 --- a/crypto/bn/bn_ctx.c +++ b/crypto/bn/bn_ctx.c @@ -365,7 +365,7 @@ static BIGNUM *BN_POOL_get(BN_POOL *p, int flag) if (item == NULL) return NULL; for (loop = 0, bn = item->vals; loop++ < BN_CTX_POOL_SIZE; bn++) { - BN_init(bn); + bn_init(bn); if ((flag & BN_FLG_SECURE) != 0) BN_set_flags(bn, BN_FLG_SECURE); } diff --git a/crypto/bn/bn_gcd.c b/crypto/bn/bn_gcd.c index d24360615f..84d1df5743 100644 --- a/crypto/bn/bn_gcd.c +++ b/crypto/bn/bn_gcd.c @@ -598,7 +598,7 @@ static BIGNUM *BN_mod_inverse_no_branch(BIGNUM *in, */ { BIGNUM local_B; - BN_init(&local_B); + bn_init(&local_B); BN_with_flags(&local_B, B, BN_FLG_CONSTTIME); if (!BN_nnmod(B, &local_B, A, ctx)) goto err; @@ -629,7 +629,7 @@ static BIGNUM *BN_mod_inverse_no_branch(BIGNUM *in, */ { BIGNUM local_A; - BN_init(&local_A); + bn_init(&local_A); BN_with_flags(&local_A, A, BN_FLG_CONSTTIME); /* (D, M) := (A/B, A%B) ... */ diff --git a/crypto/bn/bn_lcl.h b/crypto/bn/bn_lcl.h index 1a75c10c8d..e4281a34b4 100644 --- a/crypto/bn/bn_lcl.h +++ b/crypto/bn/bn_lcl.h @@ -638,10 +638,10 @@ unsigned __int64 _umul128(unsigned __int64 a, unsigned __int64 b, } # endif /* !BN_LLONG */ -void BN_init(BIGNUM *a); void BN_RECP_CTX_init(BN_RECP_CTX *recp); void BN_MONT_CTX_init(BN_MONT_CTX *ctx); +void bn_init(BIGNUM *a); void bn_mul_normal(BN_ULONG *r, BN_ULONG *a, int na, BN_ULONG *b, int nb); void bn_mul_comba8(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b); void bn_mul_comba4(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b); diff --git a/crypto/bn/bn_lib.c b/crypto/bn/bn_lib.c index 4a6480ba97..b9e96b553e 100644 --- a/crypto/bn/bn_lib.c +++ b/crypto/bn/bn_lib.c @@ -265,9 +265,11 @@ void BN_free(BIGNUM *a) } } -void BN_init(BIGNUM *a) +void bn_init(BIGNUM *a) { - memset(a, 0, sizeof(*a)); + static BIGNUM nilbn; + + *a = nilbn; bn_check_top(a); } diff --git a/crypto/bn/bn_mont.c b/crypto/bn/bn_mont.c index bda2157aa5..90c718ba59 100644 --- a/crypto/bn/bn_mont.c +++ b/crypto/bn/bn_mont.c @@ -327,9 +327,9 @@ BN_MONT_CTX *BN_MONT_CTX_new(void) void BN_MONT_CTX_init(BN_MONT_CTX *ctx) { ctx->ri = 0; - BN_init(&(ctx->RR)); - BN_init(&(ctx->N)); - BN_init(&(ctx->Ni)); + bn_init(&(ctx->RR)); + bn_init(&(ctx->N)); + bn_init(&(ctx->Ni)); ctx->n0[0] = ctx->n0[1] = 0; ctx->flags = 0; } @@ -367,7 +367,7 @@ int BN_MONT_CTX_set(BN_MONT_CTX *mont, const BIGNUM *mod, BN_CTX *ctx) BIGNUM tmod; BN_ULONG buf[2]; - BN_init(&tmod); + bn_init(&tmod); tmod.d = buf; tmod.dmax = 2; tmod.neg = 0; diff --git a/crypto/bn/bn_recp.c b/crypto/bn/bn_recp.c index 39eed8b297..ef23a8c751 100644 --- a/crypto/bn/bn_recp.c +++ b/crypto/bn/bn_recp.c @@ -61,8 +61,8 @@ void BN_RECP_CTX_init(BN_RECP_CTX *recp) { - BN_init(&(recp->N)); - BN_init(&(recp->Nr)); + bn_init(&(recp->N)); + bn_init(&(recp->Nr)); recp->num_bits = 0; recp->flags = 0; } diff --git a/doc/crypto/BN_new.pod b/doc/crypto/BN_new.pod index 0629b19d5e..22596dcbb3 100644 --- a/doc/crypto/BN_new.pod +++ b/doc/crypto/BN_new.pod @@ -2,7 +2,7 @@ =head1 NAME -BN_new, BN_init, BN_clear, BN_free, BN_clear_free - allocate and free BIGNUMs +BN_new, BN_clear, BN_free, BN_clear_free - allocate and free BIGNUMs =head1 SYNOPSIS @@ -37,30 +37,12 @@ by L. BN_clear(), BN_free() and BN_clear_free() have no return values. -=head1 REMOVED FUNCTIONALITY - - void BN_init(BIGNUM *); - -BN_init() is no longer available as of OpenSSL 1.1.0. It was used to initialize -an existing uninitialized B. Typically this would be done as follows: - - BIGNUM a; - BN_init(&a); - -Applications should replace use of BN_init with BN_new instead: - - BIGNUM *a; - a = BN_new(); - if(!a) /* Handle error */ - ... - BN_free(a); - =head1 SEE ALSO L, L =head1 HISTORY -BN_init() was removed in OpenSSL 1.1.0. +BN_init() was removed in OpenSSL 1.1.0; use BN_new() instead. =cut -- 2.34.1