Commit c804d23d authored by Pascal Cuoq's avatar Pascal Cuoq Committed by Kurt Roeckx
Browse files

Move BN_CTX_start() call so the error case can always call BN_CTX_end().



Signed-off-by: default avatarKurt Roeckx <kurt@roeckx.be>
Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
MR #1231
parent 99c20333
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -717,6 +717,8 @@ static int RSA_eay_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx)
    BIGNUM *dmp1, *dmq1, *c, *pr1;
    int ret = 0;

    BN_CTX_start(ctx);

    local_dmp1 = BN_new();
    local_dmq1 = BN_new();
    local_c = BN_new();
@@ -724,7 +726,6 @@ static int RSA_eay_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx)
    if (!local_dmp1 || !local_dmq1 || !local_c || !local_r1)
        goto err;

    BN_CTX_start(ctx);
    r1 = BN_CTX_get(ctx);
    m1 = BN_CTX_get(ctx);
    vrfy = BN_CTX_get(ctx);