]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: remove useless loop (#36648)
authorMatteo Croce <teknoraver@meta.com>
Sat, 8 Mar 2025 16:39:09 +0000 (17:39 +0100)
committerGitHub <noreply@github.com>
Sat, 8 Mar 2025 16:39:09 +0000 (17:39 +0100)
In route_metric_can_update() the loop iterates over the metrics, but
skips all indices except for RTAX_MTU.

Replace it with a simple compare.

src/network/networkd-route-metric.c

index 409e403ff1498b1b73a7206f5fec6c0b7ed371f7..480707fc2aed52d01435a4b09d4b9559ceaef480 100644 (file)
@@ -75,12 +75,8 @@ bool route_metric_can_update(const RouteMetric *a, const RouteMetric *b, bool ex
         if (a->n_metrics != b->n_metrics)
                 return false;
 
-        for (size_t i = 1; i < a->n_metrics; i++) {
-                if (i != RTAX_MTU)
-                        continue;
-                if (a->metrics[i] != b->metrics[i])
-                        return false;
-        }
+        if (a->n_metrics > RTAX_MTU && a->metrics[RTAX_MTU] != b->metrics[RTAX_MTU])
+                return false;
 
         return streq_ptr(a->tcp_congestion_control_algo, b->tcp_congestion_control_algo);
 }