X-Git-Url: https://git.openssl.org/?a=blobdiff_plain;f=apps%2Fpkeyutl.c;h=82ebdeee9ecca0e3612b3b3305dd45f76c098b34;hb=7281cbaaa73368b44b148948debd38b9b60271e0;hp=942ba05ded03de93bc17f74ae93f3f3643fb5310;hpb=7e1b7485706c2b11091b5fa897fe496a2faa56cc;p=openssl.git diff --git a/apps/pkeyutl.c b/apps/pkeyutl.c index 942ba05ded..82ebdeee9e 100644 --- a/apps/pkeyutl.c +++ b/apps/pkeyutl.c @@ -174,11 +174,9 @@ int pkeyutl_main(int argc, char **argv) if (!opt_format(opt_arg(), OPT_FMT_PEMDER, &keyform)) goto opthelp; break; -#ifndef OPENSSL_NO_ENGINE case OPT_ENGINE: e = setup_engine(opt_arg(), 0); break; -#endif case OPT_PUBIN: key_type = KEY_PUBKEY; break; @@ -202,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; @@ -247,11 +246,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; @@ -301,13 +300,10 @@ int pkeyutl_main(int argc, char **argv) rv = do_keyop(ctx, pkey_op, NULL, (size_t *)&buf_outlen, buf_in, (size_t)buf_inlen); if (rv > 0) { - buf_out = OPENSSL_malloc(buf_outlen); - if (!buf_out) - rv = -1; - else - rv = do_keyop(ctx, pkey_op, - buf_out, (size_t *)&buf_outlen, - buf_in, (size_t)buf_inlen); + buf_out = app_malloc(buf_outlen, "buffer output"); + rv = do_keyop(ctx, pkey_op, + buf_out, (size_t *)&buf_outlen, + buf_in, (size_t)buf_inlen); } if (rv <= 0) { ERR_print_errors(bio_err); @@ -327,12 +323,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; } @@ -418,10 +411,7 @@ static EVP_PKEY_CTX *init_ctx(int *pkeysize, } end: - - if (passin) - OPENSSL_free(passin); - + OPENSSL_free(passin); return ctx; }