Fix late opening of output file
authorRichard Levitte <levitte@openssl.org>
Mon, 23 Apr 2018 08:26:05 +0000 (10:26 +0200)
committerRichard Levitte <levitte@openssl.org>
Mon, 23 Apr 2018 08:52:39 +0000 (10:52 +0200)
For 'openssl dhparams', the output file was opened after calculations
were made, which is a waste of cycles and time if the output file
turns out not to be writable.

Fixes #3404

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6051)

(cherry picked from commit 10b37541dc7f27b0ca74102970691ce4636cc0bd)

apps/dhparam.c

index 94322e37def4e64de3e81fc656ec74d11a7ccc58..ae2279e2431c92ec8516868099e73a547f121b3b 100644 (file)
@@ -151,6 +151,11 @@ int dhparam_main(int argc, char **argv)
         goto end;
     }
 # endif
+
+    out = bio_open_default(outfile, 'w', outformat);
+    if (out == NULL)
+        goto end;
+
     /* DH parameters */
     if (num && !g)
         g = 2;
@@ -266,10 +271,6 @@ int dhparam_main(int argc, char **argv)
         /* dh != NULL */
     }
 
-    out = bio_open_default(outfile, 'w', outformat);
-    if (out == NULL)
-        goto end;
-
     if (text) {
         DHparams_print(out, dh);
     }