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 16:54:13 +0000 (18:54 +0200)
Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Rich Salz <rsalz@openssl.org>
MR #1231

crypto/dsa/dsa_gen.c

index 97110ef..056e500 100644 (file)
@@ -145,10 +145,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);