diff --git a/src/ap/drv_callbacks.c b/src/ap/drv_callbacks.c index 33f11aeda..c45536002 100644 --- a/src/ap/drv_callbacks.c +++ b/src/ap/drv_callbacks.c @@ -526,10 +526,15 @@ skip_wpa_check: if ((hapd->conf->wpa_key_mgmt & WPA_KEY_MGMT_OWE) && wpa_auth_sta_key_mgmt(sta->wpa_sm) == WPA_KEY_MGMT_OWE && elems.owe_dh) { - p = owe_auth_req_process(hapd, sta, - elems.owe_dh, elems.owe_dh_len, - p, &reason); - if (!p || reason != WLAN_STATUS_SUCCESS) + u8 *npos; + + npos = owe_auth_req_process(hapd, sta, + elems.owe_dh, elems.owe_dh_len, + p, &reason); + if (!npos) + goto fail; + p = npos; + if (reason != WLAN_STATUS_SUCCESS) goto fail; } #endif /* CONFIG_OWE */