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.
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);
}
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);