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;
}