]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Simplify by removing lazy ACLDomainData::domains initialization (#2182)
authorJoshua Rogers <MegaManSec@users.noreply.github.com>
Tue, 9 Sep 2025 06:52:44 +0000 (06:52 +0000)
committerSquid Anubis <squid-anubis@squid-cache.org>
Tue, 9 Sep 2025 06:52:47 +0000 (06:52 +0000)
src/acl/DomainData.cc
src/acl/DomainData.h
src/acl/ServerName.cc

index 1b9224fb187fb1c84dc792b3add7ff41a9ee02bb..6d849aa31e14aa28d2bcc68b07e7e053945ff8dd 100644 (file)
@@ -27,10 +27,7 @@ xRefFree(T &thing)
 
 ACLDomainData::~ACLDomainData()
 {
-    if (domains) {
-        domains->destroy(xRefFree);
-        delete domains;
-    }
+    domains.destroy(xRefFree);
 }
 
 template<class T>
@@ -63,13 +60,13 @@ aclHostDomainCompare( char *const &a, char * const &b)
 bool
 ACLDomainData::match(char const *host)
 {
-    if (host == nullptr)
-        return 0;
+    if (!host)
+        return false;
 
     debugs(28, 3, "aclMatchDomainList: checking '" << host << "'");
 
     char *h = const_cast<char *>(host);
-    char const * const * result = domains->find(h, aclHostDomainCompare);
+    const auto result = domains.find(h, aclHostDomainCompare);
 
     debugs(28, 3, "aclMatchDomainList: '" << host << "' " << (result ? "found" : "NOT found"));
 
@@ -87,7 +84,7 @@ SBufList
 ACLDomainData::dump() const
 {
     AclDomainDataDumpVisitor visitor;
-    domains->visit(visitor);
+    domains.visit(visitor);
     return visitor.contents;
 }
 
@@ -158,18 +155,15 @@ Acl::SplayInserter<char*>::DestroyValue(Value v)
 void
 ACLDomainData::parse()
 {
-    if (!domains)
-        domains = new Splay<char *>();
-
     while (char *t = ConfigParser::strtokFile()) {
         Tolower(t);
-        Acl::SplayInserter<char*>::Merge(*domains, xstrdup(t));
+        Acl::SplayInserter<char*>::Merge(domains, xstrdup(t));
     }
 }
 
 bool
 ACLDomainData::empty() const
 {
-    return domains->empty();
+    return domains.empty();
 }
 
index 6a61582e830a9b350de50ef99581f06f91b03f36..e365a88662effa6e0ff162ab19dc2bb0e2221eec 100644 (file)
@@ -18,14 +18,14 @@ class ACLDomainData : public ACLData<char const *>
     MEMPROXY_CLASS(ACLDomainData);
 
 public:
-    ACLDomainData() : domains(nullptr) {}
+    ACLDomainData() = default;
     ~ACLDomainData() override;
     bool match(char const *) override;
     SBufList dump() const override;
     void parse() override;
     bool empty() const override;
 
-    Splay<char *> *domains;
+    Splay<char *> domains;
 };
 
 #endif /* SQUID_SRC_ACL_DOMAINDATA_H */
index 20ea02c9b522391de18c3ade8bef4af9bd628aec..036c135e114e68bd7529190f1dab4a6d5b28241e 100644 (file)
@@ -39,7 +39,7 @@ ACLServerNameData::match(const char *host)
     debugs(28, 3, "checking '" << host << "'");
 
     char *h = const_cast<char *>(host);
-    char const * const * result = domains->find(h, aclHostDomainCompare);
+    char const * const * result = domains.find(h, aclHostDomainCompare);
 
     debugs(28, 3, "'" << host << "' " << (result ? "found" : "NOT found"));