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:41:34 +0000 (20:41 +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 defa4994b6eae3f313971f223e9a27e313761034..0dada3d25e974cc4a907eea904e4290815380ad1 100644 (file)
@@ -177,10 +177,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);