Fix wpa_auth_iface_iter() to skip BSSes without Authenticator
authorJouni Malinen <j@w1.fi>
Sat, 27 Mar 2010 06:26:24 +0000 (23:26 -0700)
committerJouni Malinen <j@w1.fi>
Sat, 27 Mar 2010 06:26:24 +0000 (23:26 -0700)
This could cause NULL pointer deference if multi-BSS configuration
was used with OKC in some cases.

src/ap/wpa_auth_glue.c

index df0415d..998aa76 100644 (file)
@@ -270,7 +270,8 @@ static int wpa_auth_iface_iter(struct hostapd_iface *iface, void *ctx)
        struct wpa_auth_iface_iter_data *data = ctx;
        size_t i;
        for (i = 0; i < iface->num_bss; i++) {
-               if (data->cb(iface->bss[i]->wpa_auth, data->cb_ctx))
+               if (iface->bss[i]->wpa_auth &&
+                   data->cb(iface->bss[i]->wpa_auth, data->cb_ctx))
                        return 1;
        }
        return 0;