From: Andy Polyakov Date: Mon, 7 May 2018 08:27:45 +0000 (+0200) Subject: ec/ec_mult.c: get BN_CTX_start,end sequence right. X-Git-Tag: OpenSSL_1_1_0i~76 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=cc39f9250957dfe6e9f1b62a4eca1863e8451483;p=oweals%2Fopenssl.git ec/ec_mult.c: get BN_CTX_start,end sequence right. Triggered by Coverity analysis. Reviewed-by: Rich Salz (cherry picked from commit 7d859d1c8868b81c5d810021af0b40f355af4e1f) Reviewed-by: Bernd Edlinger Reviewed-by: Paul Dale Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/6549) --- diff --git a/crypto/ec/ec_mult.c b/crypto/ec/ec_mult.c index cac9591fac..52d88880b3 100644 --- a/crypto/ec/ec_mult.c +++ b/crypto/ec/ec_mult.c @@ -144,7 +144,9 @@ static int ec_mul_consttime(const EC_GROUP *group, EC_POINT *r, int ret = 0; if (ctx == NULL && (ctx = new_ctx = BN_CTX_secure_new()) == NULL) - goto err; + return 0; + + BN_CTX_start(ctx); order_bits = BN_num_bits(group->order); @@ -162,7 +164,6 @@ static int ec_mul_consttime(const EC_GROUP *group, EC_POINT *r, EC_POINT_BN_set_flags(s, BN_FLG_CONSTTIME); - BN_CTX_start(ctx); lambda = BN_CTX_get(ctx); k = BN_CTX_get(ctx); if (k == NULL)