Document a change I'd already made, and at the same time, correct the
[openssl.git] / crypto / bn / bn_ctx.c
index 9366ce6..f48055b 100644 (file)
@@ -140,6 +140,7 @@ void BN_CTX_start(BN_CTX *ctx)
 
 BIGNUM *BN_CTX_get(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
        /* 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;
                }
                        }
                return NULL;
                }
+       ret = ctx->bn + (ctx->tos++);
        /* always return a 'zeroed' bignum */
        /* 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)
        }
 
 void BN_CTX_end(BN_CTX *ctx)