]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
[apps/genpkey] exit status should not be 0 on output errors
authorNicola Tuveri <nic.tuv@gmail.com>
Fri, 26 Jun 2020 22:42:49 +0000 (01:42 +0300)
committerNicola Tuveri <nic.tuv@gmail.com>
Mon, 6 Jul 2020 16:15:36 +0000 (19:15 +0300)
If the key is to be serialized or printed as text and the framework
returns an error, the app should signal the failure to the user using
a non-zero exit status.

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

apps/genpkey.c

index 8954ef19c75fe0e29c0b1b617d1c031c9c83ee54..4a4a83fd40abcfbf2bd5811661ac6ba1ef0e4be9 100644 (file)
@@ -189,9 +189,12 @@ int genpkey_main(int argc, char **argv)
         goto end;
     }
 
+    ret = 0;
+
     if (rv <= 0) {
         BIO_puts(bio_err, "Error writing key\n");
         ERR_print_errors(bio_err);
+        ret = 1;
     }
 
     if (text) {
@@ -203,11 +206,10 @@ int genpkey_main(int argc, char **argv)
         if (rv <= 0) {
             BIO_puts(bio_err, "Error printing key\n");
             ERR_print_errors(bio_err);
+            ret = 1;
         }
     }
 
-    ret = 0;
-
  end:
     EVP_PKEY_free(pkey);
     EVP_PKEY_CTX_free(ctx);