Remove unnecessary NULL checks, part 4.

Finish up crypto, minus the legacy modules we haven't been touching much.

Change-Id: I0e9e1999a627aed5fb14841f8a2a7d0b68398e85
Reviewed-on: https://boringssl-review.googlesource.com/4517
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/crypto/modes/gcm_test.c b/crypto/modes/gcm_test.c
index 29f9d95..3548c81 100644
--- a/crypto/modes/gcm_test.c
+++ b/crypto/modes/gcm_test.c
@@ -294,9 +294,7 @@
   return 1;
 
 err:
-  if (buf) {
-    OPENSSL_free(buf);
-  }
+  OPENSSL_free(buf);
   return 0;
 }
 
@@ -391,27 +389,13 @@
   ret = 1;
 
 out:
-  if (key) {
-    OPENSSL_free(key);
-  }
-  if (plaintext) {
-    OPENSSL_free(plaintext);
-  }
-  if (additional_data) {
-    OPENSSL_free(additional_data);
-  }
-  if (nonce) {
-    OPENSSL_free(nonce);
-  }
-  if (ciphertext) {
-    OPENSSL_free(ciphertext);
-  }
-  if (tag) {
-    OPENSSL_free(tag);
-  }
-  if (out) {
-    OPENSSL_free(out);
-  }
+  OPENSSL_free(key);
+  OPENSSL_free(plaintext);
+  OPENSSL_free(additional_data);
+  OPENSSL_free(nonce);
+  OPENSSL_free(ciphertext);
+  OPENSSL_free(tag);
+  OPENSSL_free(out);
   return ret;
 }
 
diff --git a/crypto/obj/obj.c b/crypto/obj/obj.c
index a71f39c..511aba3 100644
--- a/crypto/obj/obj.c
+++ b/crypto/obj/obj.c
@@ -150,15 +150,9 @@
 
 err:
   OPENSSL_PUT_ERROR(OBJ, OBJ_dup, ERR_R_MALLOC_FAILURE);
-  if (ln != NULL) {
-    OPENSSL_free(ln);
-  }
-  if (sn != NULL) {
-    OPENSSL_free(sn);
-  }
-  if (data != NULL) {
-    OPENSSL_free(data);
-  }
+  OPENSSL_free(ln);
+  OPENSSL_free(sn);
+  OPENSSL_free(data);
   OPENSSL_free(r);
   return NULL;
 }
@@ -548,15 +542,11 @@
     }
   }
 
-  if (bl) {
-    BN_free(bl);
-  }
+  BN_free(bl);
   return n;
 
 err:
-  if (bl) {
-    BN_free(bl);
-  }
+  BN_free(bl);
   return -1;
 }
 
@@ -667,12 +657,8 @@
   op = NULL;
 
 err:
-  if (op != NULL) {
-    ASN1_OBJECT_free(op);
-  }
-  if (buf != NULL) {
-    OPENSSL_free(buf);
-  }
+  ASN1_OBJECT_free(op);
+  OPENSSL_free(buf);
 
   return ret;
 }
diff --git a/crypto/pkcs8/pkcs8.c b/crypto/pkcs8/pkcs8.c
index e6b33f6..843c74d 100644
--- a/crypto/pkcs8/pkcs8.c
+++ b/crypto/pkcs8/pkcs8.c
@@ -691,9 +691,7 @@
   ret = 1;
 
 err:
-  if (der_bytes != NULL) {
-    OPENSSL_free(der_bytes);
-  }
+  OPENSSL_free(der_bytes);
   return ret;
 }
 
@@ -1012,17 +1010,11 @@
   ret = 1;
 
 err:
-  if (ctx.password) {
-    OPENSSL_free(ctx.password);
-  }
-  if (der_bytes) {
-    OPENSSL_free(der_bytes);
-  }
+  OPENSSL_free(ctx.password);
+  OPENSSL_free(der_bytes);
   if (!ret) {
-    if (*out_key) {
-      EVP_PKEY_free(*out_key);
-      *out_key = NULL;
-    }
+    EVP_PKEY_free(*out_key);
+    *out_key = NULL;
     while (sk_X509_num(out_certs) > original_out_certs_len) {
       X509 *x509 = sk_X509_pop(out_certs);
       X509_free(x509);
diff --git a/crypto/rsa/blinding.c b/crypto/rsa/blinding.c
index 88682ef..245142b 100644
--- a/crypto/rsa/blinding.c
+++ b/crypto/rsa/blinding.c
@@ -170,9 +170,7 @@
   return ret;
 
 err:
-  if (ret != NULL) {
-    BN_BLINDING_free(ret);
-  }
+  BN_BLINDING_free(ret);
   return NULL;
 }
 
@@ -181,18 +179,10 @@
     return;
   }
 
-  if (r->A != NULL) {
-    BN_free(r->A);
-  }
-  if (r->Ai != NULL) {
-    BN_free(r->Ai);
-  }
-  if (r->e != NULL) {
-    BN_free(r->e);
-  }
-  if (r->mod != NULL) {
-    BN_free(r->mod);
-  }
+  BN_free(r->A);
+  BN_free(r->Ai);
+  BN_free(r->e);
+  BN_free(r->mod);
   OPENSSL_free(r);
 }
 
@@ -317,9 +307,7 @@
   }
 
   if (e != NULL) {
-    if (ret->e != NULL) {
-      BN_free(ret->e);
-    }
+    BN_free(ret->e);
     ret->e = BN_dup(e);
   }
   if (ret->e == NULL) {
@@ -368,7 +356,7 @@
   return ret;
 
 err:
-  if (b == NULL && ret != NULL) {
+  if (b == NULL) {
     BN_BLINDING_free(ret);
     ret = NULL;
   }
diff --git a/crypto/rsa/padding.c b/crypto/rsa/padding.c
index 902e15e..0a725f1 100644
--- a/crypto/rsa/padding.c
+++ b/crypto/rsa/padding.c
@@ -443,9 +443,7 @@
   ret = 1;
 
 out:
-  if (dbmask != NULL) {
-    OPENSSL_free(dbmask);
-  }
+  OPENSSL_free(dbmask);
   return ret;
 }
 
@@ -544,9 +542,7 @@
   OPENSSL_PUT_ERROR(RSA, RSA_padding_check_PKCS1_OAEP_mgf1,
                     RSA_R_OAEP_DECODING_ERROR);
  err:
-  if (db != NULL) {
-    OPENSSL_free(db);
-  }
+  OPENSSL_free(db);
   return -1;
 }
 
@@ -653,9 +649,7 @@
   }
 
 err:
-  if (DB) {
-    OPENSSL_free(DB);
-  }
+  OPENSSL_free(DB);
   EVP_MD_CTX_cleanup(&ctx);
 
   return ret;
@@ -772,9 +766,7 @@
   ret = 1;
 
 err:
-  if (salt) {
-    OPENSSL_free(salt);
-  }
+  OPENSSL_free(salt);
 
   return ret;
 }
diff --git a/crypto/rsa/rsa.c b/crypto/rsa/rsa.c
index 650249c..5cc48ed 100644
--- a/crypto/rsa/rsa.c
+++ b/crypto/rsa/rsa.c
@@ -132,39 +132,19 @@
 
   CRYPTO_free_ex_data(&g_ex_data_class, rsa, &rsa->ex_data);
 
-  if (rsa->n != NULL) {
-    BN_clear_free(rsa->n);
-  }
-  if (rsa->e != NULL) {
-    BN_clear_free(rsa->e);
-  }
-  if (rsa->d != NULL) {
-    BN_clear_free(rsa->d);
-  }
-  if (rsa->p != NULL) {
-    BN_clear_free(rsa->p);
-  }
-  if (rsa->q != NULL) {
-    BN_clear_free(rsa->q);
-  }
-  if (rsa->dmp1 != NULL) {
-    BN_clear_free(rsa->dmp1);
-  }
-  if (rsa->dmq1 != NULL) {
-    BN_clear_free(rsa->dmq1);
-  }
-  if (rsa->iqmp != NULL) {
-    BN_clear_free(rsa->iqmp);
-  }
+  BN_clear_free(rsa->n);
+  BN_clear_free(rsa->e);
+  BN_clear_free(rsa->d);
+  BN_clear_free(rsa->p);
+  BN_clear_free(rsa->q);
+  BN_clear_free(rsa->dmp1);
+  BN_clear_free(rsa->dmq1);
+  BN_clear_free(rsa->iqmp);
   for (u = 0; u < rsa->num_blindings; u++) {
     BN_BLINDING_free(rsa->blindings[u]);
   }
-  if (rsa->blindings != NULL) {
-    OPENSSL_free(rsa->blindings);
-  }
-  if (rsa->blindings_inuse != NULL) {
-    OPENSSL_free(rsa->blindings_inuse);
-  }
+  OPENSSL_free(rsa->blindings);
+  OPENSSL_free(rsa->blindings_inuse);
   CRYPTO_MUTEX_cleanup(&rsa->lock);
   OPENSSL_free(rsa);
 }
@@ -506,9 +486,7 @@
   ret = 1;
 
 out:
-  if (buf != NULL) {
-    OPENSSL_free(buf);
-  }
+  OPENSSL_free(buf);
   if (signed_msg_is_alloced) {
     OPENSSL_free(signed_msg);
   }
@@ -516,10 +494,6 @@
 }
 
 static void bn_free_and_null(BIGNUM **bn) {
-  if (*bn == NULL) {
-    return;
-  }
-
   BN_free(*bn);
   *bn = NULL;
 }
diff --git a/crypto/rsa/rsa_impl.c b/crypto/rsa/rsa_impl.c
index e8cbd97..e14f0f5 100644
--- a/crypto/rsa/rsa_impl.c
+++ b/crypto/rsa/rsa_impl.c
@@ -74,15 +74,9 @@
 
 
 static int finish(RSA *rsa) {
-  if (rsa->_method_mod_n != NULL) {
-    BN_MONT_CTX_free(rsa->_method_mod_n);
-  }
-  if (rsa->_method_mod_p != NULL) {
-    BN_MONT_CTX_free(rsa->_method_mod_p);
-  }
-  if (rsa->_method_mod_q != NULL) {
-    BN_MONT_CTX_free(rsa->_method_mod_q);
-  }
+  BN_MONT_CTX_free(rsa->_method_mod_n);
+  BN_MONT_CTX_free(rsa->_method_mod_p);
+  BN_MONT_CTX_free(rsa->_method_mod_q);
 
   return 1;
 }
@@ -274,13 +268,9 @@
   new_blindings_inuse[rsa->num_blindings] = 1;
   *index_used = rsa->num_blindings;
 
-  if (rsa->blindings != NULL) {
-    OPENSSL_free(rsa->blindings);
-  }
+  OPENSSL_free(rsa->blindings);
   rsa->blindings = new_blindings;
-  if (rsa->blindings_inuse != NULL) {
-    OPENSSL_free(rsa->blindings_inuse);
-  }
+  OPENSSL_free(rsa->blindings_inuse);
   rsa->blindings_inuse = new_blindings_inuse;
   rsa->num_blindings++;
 
diff --git a/crypto/stack/stack.c b/crypto/stack/stack.c
index bc8c6f8..c584515 100644
--- a/crypto/stack/stack.c
+++ b/crypto/stack/stack.c
@@ -86,9 +86,7 @@
   return ret;
 
 err:
-  if (ret) {
-    OPENSSL_free(ret);
-  }
+  OPENSSL_free(ret);
   return NULL;
 }
 
@@ -324,9 +322,7 @@
   return ret;
 
 err:
-  if (ret) {
-    sk_free(ret);
-  }
+  sk_free(ret);
   return NULL;
 }