summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nm-policy.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/nm-policy.c b/src/nm-policy.c
index 8a573c8b34..1be5c4a307 100644
--- a/src/nm-policy.c
+++ b/src/nm-policy.c
@@ -754,17 +754,21 @@ process_secondaries (NMPolicy *policy,
gboolean connected)
{
NMPolicyPrivate *priv = NM_POLICY_GET_PRIVATE (policy);
- GSList *iter, *iter2;
+ GSList *iter, *iter2, *next, *next2;
/* Loop through devices waiting for secondary connections to activate */
- for (iter = priv->pending_secondaries; iter; iter = g_slist_next (iter)) {
+ for (iter = priv->pending_secondaries; iter; iter = next) {
PendingSecondaryData *secondary_data = (PendingSecondaryData *) iter->data;
NMDevice *item_device = secondary_data->device;
+ next = g_slist_next (iter);
+
/* Look for 'active' in each device's secondary connections list */
- for (iter2 = secondary_data->secondaries; iter2; iter2 = g_slist_next (iter2)) {
+ for (iter2 = secondary_data->secondaries; iter2; iter2 = next2) {
NMActiveConnection *secondary_active = NM_ACTIVE_CONNECTION (iter2->data);
+ next2 = g_slist_next (iter2);
+
if (active != secondary_active)
continue;