From c804d23d73bb2f3f6ffe29fbda4dd2fa151fa243 Mon Sep 17 00:00:00 2001 From: Pascal Cuoq Date: Tue, 5 May 2015 11:20:39 +0200 Subject: [PATCH] Move BN_CTX_start() call so the error case can always call BN_CTX_end(). Signed-off-by: Kurt Roeckx Reviewed-by: Rich Salz MR #1231 --- crypto/rsa/rsa_eay.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crypto/rsa/rsa_eay.c b/crypto/rsa/rsa_eay.c index 511ecb8c97..837e9159d2 100644 --- a/crypto/rsa/rsa_eay.c +++ b/crypto/rsa/rsa_eay.c @@ -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); -- 2.34.1