X-Git-Url: https://git.openssl.org/?a=blobdiff_plain;f=apps%2Fpkeyutl.c;h=c3e18895a78db01a96ae4af53abc5d71256cf63d;hb=aabd49232025807babe995006a46c4c7815ce868;hp=3afe0eb033f49f0a54923b5b98d8fbea2ecedf6e;hpb=68dc682499ea3fe27d909c946d7abd39062d6efd;p=openssl.git diff --git a/apps/pkeyutl.c b/apps/pkeyutl.c index 3afe0eb033..c3e18895a7 100644 --- a/apps/pkeyutl.c +++ b/apps/pkeyutl.c @@ -200,6 +200,7 @@ int pkeyutl_main(int argc, char **argv) break; case OPT_REV: rev = 1; + break; case OPT_ENCRYPT: pkey_op = EVP_PKEY_OP_ENCRYPT; break; @@ -229,6 +230,9 @@ int pkeyutl_main(int argc, char **argv) if (ctx == NULL) goto opthelp; + if (!app_load_modules(NULL)) + goto end; + if (sigfile && (pkey_op != EVP_PKEY_OP_VERIFY)) { BIO_printf(bio_err, "%s: Signature file specified for non verify\n", prog); @@ -245,11 +249,11 @@ int pkeyutl_main(int argc, char **argv) app_RAND_load_file(NULL, 0); if (pkey_op != EVP_PKEY_OP_DERIVE) { - in = bio_open_default(infile, "rb"); + in = bio_open_default(infile, 'r', FORMAT_BINARY); if (in == NULL) goto end; } - out = bio_open_default(outfile, "wb"); + out = bio_open_default(outfile, 'w', FORMAT_BINARY); if (out == NULL) goto end; @@ -322,12 +326,9 @@ int pkeyutl_main(int argc, char **argv) EVP_PKEY_CTX_free(ctx); BIO_free(in); BIO_free_all(out); - if (buf_in) - OPENSSL_free(buf_in); - if (buf_out) - OPENSSL_free(buf_out); - if (sig) - OPENSSL_free(sig); + OPENSSL_free(buf_in); + OPENSSL_free(buf_out); + OPENSSL_free(sig); return ret; } @@ -413,10 +414,7 @@ static EVP_PKEY_CTX *init_ctx(int *pkeysize, } end: - - if (passin) - OPENSSL_free(passin); - + OPENSSL_free(passin); return ctx; }