diff options
| author | Michael Biebl <biebl@debian.org> | 2026-07-03 19:53:23 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2026-07-03 19:53:23 +0200 |
| commit | aa308069bebf2d5a3200728caa69a76137c03d8b (patch) | |
| tree | c0ba2281e801c4720a0d8a5e5ee943688234f088 /src/core/nm-policy.c | |
| parent | 0a4b2c29da4ccf259bbcea3298d15abebb94348f (diff) | |
| parent | 537bfce2bda471c92caabd388589230200891509 (diff) | |
Update upstream source from tag 'upstream/1.58_rc1'
Update to upstream version '1.58~rc1' with Debian dir 451489c9234e2b6b7c2f41ca6670287ea3ac3efd
Diffstat (limited to 'src/core/nm-policy.c')
| -rw-r--r-- | src/core/nm-policy.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/core/nm-policy.c b/src/core/nm-policy.c index f7be1a9f..48c004bf 100644 --- a/src/core/nm-policy.c +++ b/src/core/nm-policy.c @@ -204,10 +204,10 @@ expire_ip6_delegations(NMPolicy *self) IP6PrefixDelegation *delegation = NULL; guint i; - for (i = 0; i < priv->ip6_prefix_delegations->len; i++) { - delegation = &nm_g_array_index(priv->ip6_prefix_delegations, IP6PrefixDelegation, i); + for (i = priv->ip6_prefix_delegations->len; i > 0; i--) { + delegation = &nm_g_array_index(priv->ip6_prefix_delegations, IP6PrefixDelegation, i - 1); if (delegation->prefix.timestamp + delegation->prefix.lifetime < now) - g_array_remove_index_fast(priv->ip6_prefix_delegations, i); + g_array_remove_index(priv->ip6_prefix_delegations, i - 1); } } @@ -253,7 +253,7 @@ ip6_subnet_from_delegation(IP6PrefixDelegation *delegation, NMDevice *device) } /* Check for out-of-prefixes condition */ - num_subnets = 1 << (64 - delegation->prefix.plen); + num_subnets = (guint64) 1 << (64 - delegation->prefix.plen); if (nm_g_hash_table_size(delegation->map_subnet_id_to_ifindex) >= num_subnets) { _LOGD(LOGD_IP6, "ipv6-pd: no more prefixes in %s/%u", @@ -378,10 +378,10 @@ ip6_remove_device_prefix_delegations(NMPolicy *self, NMDevice *device) IP6PrefixDelegation *delegation = NULL; guint i; - for (i = 0; i < priv->ip6_prefix_delegations->len; i++) { - delegation = &nm_g_array_index(priv->ip6_prefix_delegations, IP6PrefixDelegation, i); + for (i = priv->ip6_prefix_delegations->len; i > 0; i--) { + delegation = &nm_g_array_index(priv->ip6_prefix_delegations, IP6PrefixDelegation, i - 1); if (delegation->device == device) - g_array_remove_index_fast(priv->ip6_prefix_delegations, i); + g_array_remove_index(priv->ip6_prefix_delegations, i - 1); } } |