ec/ec_mult.c: get BN_CTX_start,end sequence right.
authorAndy Polyakov <appro@openssl.org>
Mon, 7 May 2018 08:27:45 +0000 (10:27 +0200)
committerAndy Polyakov <appro@openssl.org>
Tue, 8 May 2018 10:44:05 +0000 (12:44 +0200)
Triggered by Coverity analysis.

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6190)

crypto/ec/ec_mult.c

index 4f6689a..6b5553c 100644 (file)
@@ -140,7 +140,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);
 
@@ -158,7 +160,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)