diff --git a/crypto/bn/bn.h b/crypto/bn/bn.h index 472eb2c61..0d94df255 100644 --- a/crypto/bn/bn.h +++ b/crypto/bn/bn.h @@ -240,13 +240,15 @@ typedef struct bignum_st /* Used for temp variables */ #define BN_CTX_NUM 12 +#define BN_CTX_NUM_POS 12 typedef struct bignum_ctx { int tos; - BIGNUM bn[BN_CTX_NUM+1]; + BIGNUM bn[BN_CTX_NUM]; int flags; int depth; - int pos[BN_CTX_NUM+1]; + int pos[BN_CTX_NUM_POS]; + int too_many; } BN_CTX; typedef struct bn_blinding_st diff --git a/crypto/bn/bn_ctx.c b/crypto/bn/bn_ctx.c index f72b075cc..93d08152f 100644 --- a/crypto/bn/bn_ctx.c +++ b/crypto/bn/bn_ctx.c @@ -87,6 +87,7 @@ void BN_CTX_init(BN_CTX *ctx) ctx->tos = 0; ctx->flags = 0; ctx->depth = 0; + ctx->too_many = 0; for (i = 0; i < BN_CTX_NUM; i++) BN_init(&(ctx->bn[i])); }