nl80211: Fix initial add_ifidx() realloc to not forget values
authorM. Braun <michael-dev@fami-braun.de>
Thu, 15 Apr 2010 21:39:59 +0000 (00:39 +0300)
committerJouni Malinen <j@w1.fi>
Thu, 15 Apr 2010 21:39:59 +0000 (00:39 +0300)
We need to make a copy of the old entries the first time the
if_indices buffer gets allocated.

src/drivers/driver_nl80211.c

index 4a19047..bd7df65 100644 (file)
@@ -4135,7 +4135,9 @@ static void add_ifidx(struct wpa_driver_nl80211_data *drv, int ifidx)
                           "interfaces");
                wpa_printf(MSG_ERROR, "Ignoring EAPOL on interface %d", ifidx);
                return;
-       }
+       } else if (!old)
+               os_memcpy(drv->if_indices, drv->default_if_indices,
+                         sizeof(drv->default_if_indices));
        drv->if_indices[drv->num_if_indices] = ifidx;
        drv->num_if_indices++;
 }