Commit 9e051bac authored by Geoff Thorpe's avatar Geoff Thorpe
Browse files

Document a change I'd already made, and at the same time, correct the

change to work properly; BN_zero() should set 'neg' to zero as well as
'top' to match the behaviour of BN_new().
parent 30fbcaa2
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -4,6 +4,10 @@

 Changes between 0.9.7c and 0.9.8  [xx XXX xxxx]

  *) BN_CTX_get() should return zero-valued bignums, providing the same
     initialised value as BN_new().
     [Geoff Thorpe, suggested by Ulf Möller]

  *) Support for inhibitAnyPolicy certificate extension.
     [Steve Henson]

@@ -21,7 +25,7 @@
     some point, these tighter rules will become openssl's default to improve
     maintainability, though the assert()s and other overheads will remain only
     in debugging configurations. See bn.h for more details.
     [Geoff Thorpe]
     [Geoff Thorpe, Nils Larsch, Ulf Möller]

  *) BN_CTX_init() has been deprecated, as BN_CTX is an opaque structure
     that can only be obtained through BN_CTX_new() (which implicitly
+4 −2
Original line number Diff line number Diff line
@@ -140,6 +140,7 @@ void BN_CTX_start(BN_CTX *ctx)

BIGNUM *BN_CTX_get(BN_CTX *ctx)
	{
	BIGNUM *ret;
	/* Note: If BN_CTX_get is ever changed to allocate BIGNUMs dynamically,
	 * make sure that if BN_CTX_get fails once it will return NULL again
	 * until BN_CTX_end is called.  (This is so that callers have to check
@@ -155,9 +156,10 @@ BIGNUM *BN_CTX_get(BN_CTX *ctx)
			}
		return NULL;
		}
	ret = ctx->bn + (ctx->tos++);
	/* always return a 'zeroed' bignum */
	ctx->bn[ctx->tos].top = 0;
	return (&(ctx->bn[ctx->tos++]));
	BN_zero(ret);
	return ret;
	}

void BN_CTX_end(BN_CTX *ctx)
+0 −1
Original line number Diff line number Diff line
@@ -214,7 +214,6 @@ int BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const BIGNUM *divisor,
		res=BN_CTX_get(ctx);
	else	res=dv;
	if (sdiv == NULL || res == NULL) goto err;
	tmp->neg=0;

	/* First we normalise the numbers */
	norm_shift=BN_BITS2-((BN_num_bits(divisor))%BN_BITS2);