]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: add several assertions in conf parsers 19715/head
authorYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 24 May 2021 22:11:36 +0000 (07:11 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 24 May 2021 22:12:05 +0000 (07:12 +0900)
src/network/networkd-network-gperf.gperf
src/network/networkd-network.c

index ff22e89733a16917413c40e5674f8fa612058ccd..c2223b2c16092c9f84c2205a83de68256d884bc6 100644 (file)
@@ -110,7 +110,7 @@ Network.LLMNR,                               config_parse_resolve_support,
 Network.MulticastDNS,                        config_parse_resolve_support,                             0,                             offsetof(Network, mdns)
 Network.DNSOverTLS,                          config_parse_dns_over_tls_mode,                           0,                             offsetof(Network, dns_over_tls_mode)
 Network.DNSSEC,                              config_parse_dnssec_mode,                                 0,                             offsetof(Network, dnssec_mode)
-Network.DNSSECNegativeTrustAnchors,          config_parse_dnssec_negative_trust_anchors,               0,                             0
+Network.DNSSECNegativeTrustAnchors,          config_parse_dnssec_negative_trust_anchors,               0,                             offsetof(Network, dnssec_negative_trust_anchors)
 Network.NTP,                                 config_parse_ntp,                                         0,                             offsetof(Network, ntp)
 Network.IPForward,                           config_parse_address_family_with_kernel,                  0,                             offsetof(Network, ip_forward)
 Network.IPMasquerade,                        config_parse_ip_masquerade,                               0,                             offsetof(Network, ip_masquerade)
index 734b7fbdad1bbd191584b5a850d851dedf43129d..5c8b1afd0f58c1732cbec9d71f89f8ae66c09446 100644 (file)
@@ -753,12 +753,13 @@ int config_parse_domains(
                 void *data,
                 void *userdata) {
 
-        Network *n = data;
+        Network *n = userdata;
         int r;
 
-        assert(n);
+        assert(filename);
         assert(lvalue);
         assert(rvalue);
+        assert(n);
 
         if (isempty(rvalue)) {
                 n->search_domains = ordered_set_free(n->search_domains);
@@ -837,6 +838,7 @@ int config_parse_hostname(
         assert(filename);
         assert(lvalue);
         assert(rvalue);
+        assert(hostname);
 
         r = config_parse_string(unit, filename, line, section, section_line, lvalue, ltype, rvalue, &hn, userdata);
         if (r < 0)
@@ -882,6 +884,7 @@ int config_parse_timezone(
         assert(filename);
         assert(lvalue);
         assert(rvalue);
+        assert(datap);
 
         r = config_parse_string(unit, filename, line, section, section_line, lvalue, ltype, rvalue, &tz, userdata);
         if (r < 0)
@@ -914,6 +917,7 @@ int config_parse_dns(
         assert(filename);
         assert(lvalue);
         assert(rvalue);
+        assert(n);
 
         if (isempty(rvalue)) {
                 for (unsigned i = 0; i < n->n_dns; i++)
@@ -970,15 +974,16 @@ int config_parse_dnssec_negative_trust_anchors(
                 void *data,
                 void *userdata) {
 
-        Network *n = data;
+        Set **nta = data;
         int r;
 
-        assert(n);
+        assert(filename);
         assert(lvalue);
         assert(rvalue);
+        assert(nta);
 
         if (isempty(rvalue)) {
-                n->dnssec_negative_trust_anchors = set_free_free(n->dnssec_negative_trust_anchors);
+                *nta = set_free_free(*nta);
                 return 0;
         }
 
@@ -1003,7 +1008,7 @@ int config_parse_dnssec_negative_trust_anchors(
                         continue;
                 }
 
-                r = set_ensure_consume(&n->dnssec_negative_trust_anchors, &dns_name_hash_ops, TAKE_PTR(w));
+                r = set_ensure_consume(nta, &dns_name_hash_ops, TAKE_PTR(w));
                 if (r < 0)
                         return log_oom();
         }
@@ -1024,9 +1029,10 @@ int config_parse_ntp(
         char ***l = data;
         int r;
 
-        assert(l);
+        assert(filename);
         assert(lvalue);
         assert(rvalue);
+        assert(l);
 
         if (isempty(rvalue)) {
                 *l = strv_free(*l);
@@ -1079,11 +1085,16 @@ int config_parse_required_for_online(
                 void *data,
                 void *userdata) {
 
-        Network *network = data;
+        Network *network = userdata;
         LinkOperationalStateRange range;
         bool required = true;
         int r;
 
+        assert(filename);
+        assert(lvalue);
+        assert(rvalue);
+        assert(network);
+
         if (isempty(rvalue)) {
                 network->required_for_online = true;
                 network->required_operstate_for_online = LINK_OPERSTATE_RANGE_DEFAULT;