Move BN_CTX_start() call so the error case can always call BN_CTX_end().
authorPascal Cuoq <cuoq@trust-in-soft.com>
Tue, 5 May 2015 09:20:39 +0000 (11:20 +0200)
committerKurt Roeckx <kurt@roeckx.be>
Wed, 7 Oct 2015 18:36:54 +0000 (20:36 +0200)
Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Rich Salz <rsalz@openssl.org>
MR #1231

(cherry picked from commit 99c203337574d967c86ffbfa13f40ace51048485)

crypto/dsa/dsa_gen.c

index 9d3b59e0479be3344a4b1a3d5be2e35092d8b1a1..6bc86dd57e300cc254cc4cfccfeabc334aaf2871 100644 (file)
@@ -179,10 +179,11 @@ int dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits,
     if ((ctx = BN_CTX_new()) == NULL)
         goto err;
 
+    BN_CTX_start(ctx);
+
     if ((mont = BN_MONT_CTX_new()) == NULL)
         goto err;
 
-    BN_CTX_start(ctx);
     r0 = BN_CTX_get(ctx);
     g = BN_CTX_get(ctx);
     W = BN_CTX_get(ctx);