WPS: Fix hostapd reconfig to update WPS UPnP string pointers
authorJouni Malinen <jouni.malinen@atheros.com>
Thu, 23 Sep 2010 02:34:32 +0000 (19:34 -0700)
committerJouni Malinen <j@w1.fi>
Thu, 23 Sep 2010 02:34:32 +0000 (19:34 -0700)
This is needed to update the pointers maintained within WPS code
to use the new configuration data instead of maintaining pointers
to the old configuration which will be freed. This fixes strings in
UPnP discovery after reconfig (they used to be random freed memory..).

src/ap/wps_hostapd.c

index 2694231..7963d60 100644 (file)
@@ -784,6 +784,15 @@ void hostapd_update_wps(struct hostapd_data *hapd)
 {
        if (hapd->wps == NULL)
                return;
+
+#ifdef CONFIG_WPS_UPNP
+       hapd->wps->friendly_name = hapd->conf->friendly_name;
+       hapd->wps->manufacturer_url = hapd->conf->manufacturer_url;
+       hapd->wps->model_description = hapd->conf->model_description;
+       hapd->wps->model_url = hapd->conf->model_url;
+       hapd->wps->upc = hapd->conf->upc;
+#endif /* CONFIG_WPS_UPNP */
+
        if (hapd->conf->wps_state)
                wps_registrar_update_ie(hapd->wps->registrar);
        else