Browse Source

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>
Jouni Malinen 9 years ago
parent
commit
c968f2d56c
2 changed files with 8 additions and 0 deletions
  1. 4 0
      src/drivers/driver_privsep.c
  2. 4 0
      wpa_supplicant/wpa_priv.c

+ 4 - 0
src/drivers/driver_privsep.c

@@ -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;
 }
 

+ 4 - 0
wpa_supplicant/wpa_priv.c

@@ -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;