wpa_priv: Clear extended_capa pointers
authorJouni Malinen <j@w1.fi>
Sat, 5 Sep 2015 09:32:58 +0000 (12:32 +0300)
committerJouni Malinen <j@w1.fi>
Sat, 5 Sep 2015 09:32:58 +0000 (12:32 +0300)
For now, there is no support for passing extended_capa pointers through
the driver_privsep.c interface from wpa_priv. Avoid leaving bogus
pointers by explicitly clearing these on both wpa_priv and
wpa_supplicant sides.

Signed-off-by: Jouni Malinen <j@w1.fi>
src/drivers/driver_privsep.c
wpa_supplicant/wpa_priv.c

index 1cfc15d..64a65a6 100644 (file)
@@ -703,6 +703,10 @@ static int wpa_driver_privsep_get_capa(void *priv,
        res = wpa_priv_cmd(drv, PRIVSEP_CMD_GET_CAPA, NULL, 0, capa, &len);
        if (res < 0 || len != sizeof(*capa))
                return -1;
+       /* For now, no support for passing extended_capa pointers */
+       capa->extended_capa = NULL;
+       capa->extended_capa_mask = NULL;
+       capa->extended_capa_len = 0;
        return 0;
 }
 
index a7aa430..c8335fc 100644 (file)
@@ -330,6 +330,10 @@ static void wpa_priv_cmd_get_capa(struct wpa_priv_interface *iface,
            iface->driver->get_capa(iface->drv_priv, &capa) < 0)
                goto fail;
 
+       /* For now, no support for passing extended_capa pointers */
+       capa.extended_capa = NULL;
+       capa.extended_capa_mask = NULL;
+       capa.extended_capa_len = 0;
        sendto(iface->fd, &capa, sizeof(capa), 0, (struct sockaddr *) from,
               sizeof(*from));
        return;