D-Bus: Fix memory leak on P2P GO WPSVendorExtensions
It was possible to add WPS vendor extensions through the D-Bus WPSVendorExtensions setter, but these extensions were not freed when the P2P GO was stopped or when replacing previously configured extensions. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
5b3c40a65b
commit
8509fb5cce
2 changed files with 7 additions and 0 deletions
|
@ -496,6 +496,12 @@ void hostapd_config_free_bss(struct hostapd_bss_config *conf)
|
||||||
os_free(conf->model_description);
|
os_free(conf->model_description);
|
||||||
os_free(conf->model_url);
|
os_free(conf->model_url);
|
||||||
os_free(conf->upc);
|
os_free(conf->upc);
|
||||||
|
{
|
||||||
|
unsigned int i;
|
||||||
|
|
||||||
|
for (i = 0; i < MAX_WPS_VENDOR_EXTENSIONS; i++)
|
||||||
|
wpabuf_free(conf->wps_vendor_ext[i]);
|
||||||
|
}
|
||||||
wpabuf_free(conf->wps_nfc_dh_pubkey);
|
wpabuf_free(conf->wps_nfc_dh_pubkey);
|
||||||
wpabuf_free(conf->wps_nfc_dh_privkey);
|
wpabuf_free(conf->wps_nfc_dh_privkey);
|
||||||
wpabuf_free(conf->wps_nfc_dev_pw);
|
wpabuf_free(conf->wps_nfc_dev_pw);
|
||||||
|
|
|
@ -2223,6 +2223,7 @@ dbus_bool_t wpas_dbus_setter_p2p_group_vendor_ext(DBusMessageIter *iter,
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
for (i = 0; i < MAX_WPS_VENDOR_EXTENSIONS; i++) {
|
for (i = 0; i < MAX_WPS_VENDOR_EXTENSIONS; i++) {
|
||||||
|
wpabuf_free(hapd->conf->wps_vendor_ext[i]);
|
||||||
if (i < entry.array_len) {
|
if (i < entry.array_len) {
|
||||||
hapd->conf->wps_vendor_ext[i] =
|
hapd->conf->wps_vendor_ext[i] =
|
||||||
entry.binarray_value[i];
|
entry.binarray_value[i];
|
||||||
|
|
Loading…
Reference in a new issue