X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=apps%2Fpkey.c;h=17e6702fb17c0fdd73849c419d3a945f17822882;hp=b34974b8d12c808595019b8fa9b729f7ddc151c4;hb=a6e7d1c0e3dbe3b1269814844594d47be9006de1;hpb=3e84b6e15fe6a580177b9e242c66e1d1ab6c2164 diff --git a/apps/pkey.c b/apps/pkey.c index b34974b8d1..17e6702fb1 100644 --- a/apps/pkey.c +++ b/apps/pkey.c @@ -1,5 +1,5 @@ -/* pkey.c */ -/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL +/* apps/pkey.c */ +/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL * project 2006 */ /* ==================================================================== @@ -81,6 +81,7 @@ int MAIN(int argc, char **argv) #ifndef OPENSSL_NO_ENGINE char *engine=NULL; #endif + int ret = 1; if (bio_err == NULL) bio_err = BIO_new_fp (stderr, BIO_NOCLOSE); @@ -203,7 +204,7 @@ int MAIN(int argc, char **argv) if (!app_passwd(bio_err, passargin, passargout, &passin, &passout)) { BIO_printf(bio_err, "Error getting passwords\n"); - return 1; + goto end; } if (outfile) @@ -212,7 +213,7 @@ int MAIN(int argc, char **argv) { BIO_printf(bio_err, "Can't open output file %s\n", outfile); - return (1); + goto end; } } else @@ -233,10 +234,7 @@ int MAIN(int argc, char **argv) pkey = load_key(bio_err, infile, informat, 1, passin, e, "key"); if (!pkey) - { - BIO_free_all(out); - return 1; - } + goto end; if (!noout) { @@ -258,7 +256,7 @@ int MAIN(int argc, char **argv) else { BIO_printf(bio_err, "Bad format specified for key\n"); - return (1); + goto end; } } @@ -271,6 +269,8 @@ int MAIN(int argc, char **argv) EVP_PKEY_print_private(out, pkey, 0, NULL); } + ret = 0; + end: EVP_PKEY_free(pkey); BIO_free_all(out); @@ -280,5 +280,5 @@ int MAIN(int argc, char **argv) if (passout) OPENSSL_free(passout); - return (0); + return ret; }