summaryrefslogtreecommitdiffstats
path: root/crypto/openssl/apps/pkcs8.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/openssl/apps/pkcs8.c')
-rw-r--r--crypto/openssl/apps/pkcs8.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/crypto/openssl/apps/pkcs8.c b/crypto/openssl/apps/pkcs8.c
index 3e59b74..7b588e4 100644
--- a/crypto/openssl/apps/pkcs8.c
+++ b/crypto/openssl/apps/pkcs8.c
@@ -194,8 +194,15 @@ int MAIN(int argc, char **argv)
"Can't open output file %s\n", outfile);
return (1);
}
- } else out = BIO_new_fp (stdout, BIO_NOCLOSE);
-
+ } else {
+ out = BIO_new_fp (stdout, BIO_NOCLOSE);
+#ifdef VMS
+ {
+ BIO *tmpbio = BIO_new(BIO_f_linebuffer());
+ out = BIO_push(tmpbio, out);
+ }
+#endif
+ }
if (topk8) {
if(informat == FORMAT_PEM)
pkey = PEM_read_bio_PrivateKey(in, NULL, NULL, passin);
@@ -253,9 +260,9 @@ int MAIN(int argc, char **argv)
}
PKCS8_PRIV_KEY_INFO_free (p8inf);
EVP_PKEY_free(pkey);
- BIO_free(out);
- if(passin) Free(passin);
- if(passout) Free(passout);
+ BIO_free_all(out);
+ if(passin) OPENSSL_free(passin);
+ if(passout) OPENSSL_free(passout);
return (0);
}
@@ -336,10 +343,10 @@ int MAIN(int argc, char **argv)
}
EVP_PKEY_free(pkey);
- BIO_free(out);
+ BIO_free_all(out);
BIO_free(in);
- if(passin) Free(passin);
- if(passout) Free(passout);
+ if(passin) OPENSSL_free(passin);
+ if(passout) OPENSSL_free(passout);
return (0);
}
OpenPOWER on IntegriCloud