WPS: Fix a memory leak if set_ie_cb() is not set
Skip WPS IE building for Beacon and Probe Response frames is set_ie_cb() is not set. This fixes a memory leak and optimizes operations by not allocating memory and building the WPS IEs unnecessarily.
This commit is contained in:
parent
32da61d9c9
commit
9fdeaf8f3a
1 changed files with 3 additions and 3 deletions
|
@ -819,9 +819,6 @@ static void wps_cb_reg_success(struct wps_registrar *reg, const u8 *mac_addr,
|
|||
static int wps_cb_set_ie(struct wps_registrar *reg, struct wpabuf *beacon_ie,
|
||||
struct wpabuf *probe_resp_ie)
|
||||
{
|
||||
if (reg->set_ie_cb == NULL)
|
||||
return 0;
|
||||
|
||||
return reg->set_ie_cb(reg->cb_ctx, beacon_ie, probe_resp_ie);
|
||||
}
|
||||
|
||||
|
@ -881,6 +878,9 @@ static int wps_set_ie(struct wps_registrar *reg)
|
|||
struct wpabuf *beacon;
|
||||
struct wpabuf *probe;
|
||||
|
||||
if (reg->set_ie_cb == NULL)
|
||||
return 0;
|
||||
|
||||
wpa_printf(MSG_DEBUG, "WPS: Build Beacon and Probe Response IEs");
|
||||
|
||||
beacon = wpabuf_alloc(300);
|
||||
|
|
Loading…
Reference in a new issue