Remove some unnecessary NULL checks in conf.c.

This file needs more work, but apply some small, local simplifications.

Change-Id: Ia2b93f847e67ae7738afc791acb9ce3cc6cc0342
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/60086
Reviewed-by: Adam Langley <agl@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
diff --git a/crypto/conf/conf.c b/crypto/conf/conf.c
index 0c05df4..3e95e8b 100644
--- a/crypto/conf/conf.c
+++ b/crypto/conf/conf.c
@@ -132,24 +132,23 @@
 }
 
 static void value_free_contents(CONF_VALUE *value) {
-  if (value->section) {
-    OPENSSL_free(value->section);
-  }
+  OPENSSL_free(value->section);
   if (value->name) {
     OPENSSL_free(value->name);
-    if (value->value) {
-      OPENSSL_free(value->value);
-    }
+    OPENSSL_free(value->value);
   } else {
-    if (value->value) {
-      sk_CONF_VALUE_free((STACK_OF(CONF_VALUE)*)value->value);
-    }
+    // TODO(davidben): When |value->name| is NULL, |CONF_VALUE| is actually an
+    // entirely different structure. This is fragile and confusing. Make a
+    // proper |CONF_SECTION| type that doesn't require this.
+    sk_CONF_VALUE_free((STACK_OF(CONF_VALUE) *)value->value);
   }
 }
 
 static void value_free(CONF_VALUE *value) {
-  value_free_contents(value);
-  OPENSSL_free(value);
+  if (value != NULL) {
+    value_free_contents(value);
+    OPENSSL_free(value);
+  }
 }
 
 static void value_free_arg(CONF_VALUE *value, void *arg) { value_free(value); }
@@ -185,19 +184,13 @@
   if (!lh_CONF_VALUE_insert(conf->data, &old_value, v)) {
     goto err;
   }
-  if (old_value) {
-    value_free(old_value);
-  }
+  value_free(old_value);
   ok = 1;
 
 err:
   if (!ok) {
-    if (sk != NULL) {
-      sk_CONF_VALUE_free(sk);
-    }
-    if (v != NULL) {
-      OPENSSL_free(v);
-    }
+    sk_CONF_VALUE_free(sk);
+    OPENSSL_free(v);
     v = NULL;
   }
   return v;
@@ -354,17 +347,13 @@
   }
 
   buf->data[to] = '\0';
-  if (*pto != NULL) {
-    OPENSSL_free(*pto);
-  }
+  OPENSSL_free(*pto);
   *pto = buf->data;
   OPENSSL_free(buf);
   return 1;
 
 err:
-  if (buf != NULL) {
-    BUF_MEM_free(buf);
-  }
+  BUF_MEM_free(buf);
   return 0;
 }
 
@@ -700,21 +689,13 @@
       v = NULL;
     }
   }
-  if (buff != NULL) {
-    BUF_MEM_free(buff);
-  }
-  if (section != NULL) {
-    OPENSSL_free(section);
-  }
+  BUF_MEM_free(buff);
+  OPENSSL_free(section);
   return 1;
 
 err:
-  if (buff != NULL) {
-    BUF_MEM_free(buff);
-  }
-  if (section != NULL) {
-    OPENSSL_free(section);
-  }
+  BUF_MEM_free(buff);
+  OPENSSL_free(section);
   if (out_error_line != NULL) {
     *out_error_line = eline;
   }
@@ -722,15 +703,9 @@
   ERR_add_error_data(2, "line ", btmp);
 
   if (v != NULL) {
-    if (v->name != NULL) {
-      OPENSSL_free(v->name);
-    }
-    if (v->value != NULL) {
-      OPENSSL_free(v->value);
-    }
-    if (v != NULL) {
-      OPENSSL_free(v);
-    }
+    OPENSSL_free(v->name);
+    OPENSSL_free(v->value);
+    OPENSSL_free(v);
   }
   return 0;
 }