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)