free NULL cleanup
EVP_.*free; this gets:
EVP_CIPHER_CTX_free EVP_PKEY_CTX_free EVP_PKEY_asn1_free
EVP_PKEY_asn1_set_free EVP_PKEY_free EVP_PKEY_free_it
EVP_PKEY_meth_free; and also EVP_CIPHER_CTX_cleanup
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
diff --git a/apps/dgst.c b/apps/dgst.c
index ac3b583..7006000 100644
--- a/apps/dgst.c
+++ b/apps/dgst.c
@@ -384,8 +384,7 @@
}
r = 1;
mac_end:
- if (mac_ctx)
- EVP_PKEY_CTX_free(mac_ctx);
+ EVP_PKEY_CTX_free(mac_ctx);
if (r == 0)
goto end;
}
diff --git a/apps/genpkey.c b/apps/genpkey.c
index 5b7f433..bd81d51 100644
--- a/apps/genpkey.c
+++ b/apps/genpkey.c
@@ -268,10 +268,8 @@
ret = 0;
end:
- if (pkey)
- EVP_PKEY_free(pkey);
- if (ctx)
- EVP_PKEY_CTX_free(ctx);
+ EVP_PKEY_free(pkey);
+ EVP_PKEY_CTX_free(ctx);
BIO_free_all(out);
BIO_free(in);
if (pass)
@@ -317,10 +315,8 @@
err:
BIO_puts(err, "Error initializing context\n");
ERR_print_errors(err);
- if (ctx)
- EVP_PKEY_CTX_free(ctx);
- if (pkey)
- EVP_PKEY_free(pkey);
+ EVP_PKEY_CTX_free(ctx);
+ EVP_PKEY_free(pkey);
return 0;
}
@@ -375,8 +371,7 @@
err:
BIO_printf(err, "Error initializing %s context\n", algname);
ERR_print_errors(err);
- if (ctx)
- EVP_PKEY_CTX_free(ctx);
+ EVP_PKEY_CTX_free(ctx);
return 0;
}
diff --git a/apps/pkcs12.c b/apps/pkcs12.c
index e33fe24..a60a055 100644
--- a/apps/pkcs12.c
+++ b/apps/pkcs12.c
@@ -672,8 +672,7 @@
CRYPTO_push_info("process -export_cert: freeing");
# endif
- if (key)
- EVP_PKEY_free(key);
+ EVP_PKEY_free(key);
if (certs)
sk_X509_pop_free(certs, X509_free);
if (ucert)
diff --git a/apps/pkeyutl.c b/apps/pkeyutl.c
index aaa9074..1028686 100644
--- a/apps/pkeyutl.c
+++ b/apps/pkeyutl.c
@@ -332,8 +332,7 @@
BIO_write(out, buf_out, buf_outlen);
end:
- if (ctx)
- EVP_PKEY_CTX_free(ctx);
+ EVP_PKEY_CTX_free(ctx);
BIO_free(in);
BIO_free_all(out);
if (buf_in)
diff --git a/apps/req.c b/apps/req.c
index 231535b..3cedf2c 100644
--- a/apps/req.c
+++ b/apps/req.c
@@ -874,9 +874,9 @@
if (pkey == NULL) {
pkey = X509_REQ_get_pubkey(req);
- tmp = 1;
if (pkey == NULL)
goto end;
+ tmp = 1;
}
i = X509_REQ_verify(req, pkey);
@@ -1013,8 +1013,7 @@
BIO_free(in);
BIO_free_all(out);
EVP_PKEY_free(pkey);
- if (genctx)
- EVP_PKEY_CTX_free(genctx);
+ EVP_PKEY_CTX_free(genctx);
if (pkeyopts)
sk_OPENSSL_STRING_free(pkeyopts);
if (sigopts)
diff --git a/apps/s_cb.c b/apps/s_cb.c
index ea7d35c..7e69fc8 100644
--- a/apps/s_cb.c
+++ b/apps/s_cb.c
@@ -1242,8 +1242,7 @@
while (exc) {
if (exc->cert)
X509_free(exc->cert);
- if (exc->key)
- EVP_PKEY_free(exc->key);
+ EVP_PKEY_free(exc->key);
if (exc->chain)
sk_X509_pop_free(exc->chain, X509_free);
curr = exc;
diff --git a/apps/s_client.c b/apps/s_client.c
index 0874983..ec11617 100644
--- a/apps/s_client.c
+++ b/apps/s_client.c
@@ -2030,8 +2030,7 @@
X509_free(cert);
if (crls)
sk_X509_CRL_pop_free(crls, X509_CRL_free);
- if (key)
- EVP_PKEY_free(key);
+ EVP_PKEY_free(key);
if (chain)
sk_X509_pop_free(chain, X509_free);
if (pass)
diff --git a/apps/s_server.c b/apps/s_server.c
index 37c40cb..f97a97d 100644
--- a/apps/s_server.c
+++ b/apps/s_server.c
@@ -2011,10 +2011,8 @@
sk_X509_CRL_pop_free(crls, X509_CRL_free);
if (s_dcert)
X509_free(s_dcert);
- if (s_key)
- EVP_PKEY_free(s_key);
- if (s_dkey)
- EVP_PKEY_free(s_dkey);
+ EVP_PKEY_free(s_key);
+ EVP_PKEY_free(s_dkey);
if (s_chain)
sk_X509_pop_free(s_chain, X509_free);
if (s_dchain)
@@ -2037,8 +2035,7 @@
SSL_CTX_free(ctx2);
if (s_cert2)
X509_free(s_cert2);
- if (s_key2)
- EVP_PKEY_free(s_key2);
+ EVP_PKEY_free(s_key2);
BIO_free(serverinfo_in);
# ifndef OPENSSL_NO_NEXTPROTONEG
if (next_proto.data)