wpa_priv: Clear extended_capa pointers

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>
This commit is contained in:
Jouni Malinen 2015-09-05 12:32:58 +03:00
parent 20396ab8e4
commit c968f2d56c
2 changed files with 8 additions and 0 deletions

View 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); res = wpa_priv_cmd(drv, PRIVSEP_CMD_GET_CAPA, NULL, 0, capa, &len);
if (res < 0 || len != sizeof(*capa)) if (res < 0 || len != sizeof(*capa))
return -1; 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; return 0;
} }

View 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) iface->driver->get_capa(iface->drv_priv, &capa) < 0)
goto fail; 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, sendto(iface->fd, &capa, sizeof(capa), 0, (struct sockaddr *) from,
sizeof(*from)); sizeof(*from));
return; return;