]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Make wpa_bss_ext_capab() handle NULL bss argument
authorJouni Malinen <j@w1.fi>
Sat, 6 Feb 2021 09:00:09 +0000 (11:00 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 6 Feb 2021 10:09:30 +0000 (12:09 +0200)
This simplifies the callers that use wpa_s->current_bss (which could be
NULL).

Signed-off-by: Jouni Malinen <j@w1.fi>
wpa_supplicant/bss.c
wpa_supplicant/robust_av.c
wpa_supplicant/sme.c
wpa_supplicant/wpa_supplicant.c

index e9c2f822caee019897a8547539a3befd99b2ed40..64fd4b843fb047865e7f84c9a5b4fbb5dd70e9d5 100644 (file)
@@ -1390,6 +1390,8 @@ const u8 * wpa_bss_get_fils_cache_id(const struct wpa_bss *bss)
 
 int wpa_bss_ext_capab(const struct wpa_bss *bss, unsigned int capab)
 {
+       if (!bss)
+               return 0;
        return ieee802_11_ext_capab(wpa_bss_get_ie(bss, WLAN_EID_EXT_CAPAB),
                                    capab);
 }
index 7ecd35769cc57c3b3fe1a469f635f861acd9c56e..f6da56eeda9b458b46f21571f80f9f1e891cbc5c 100644 (file)
@@ -54,8 +54,7 @@ int wpas_send_mscs_req(struct wpa_supplicant *wpa_s)
        if (wpa_s->wpa_state != WPA_COMPLETED || !wpa_s->current_ssid)
                return 0;
 
-       if (!wpa_s->current_bss ||
-           !wpa_bss_ext_capab(wpa_s->current_bss, WLAN_EXT_CAPAB_MSCS)) {
+       if (!wpa_bss_ext_capab(wpa_s->current_bss, WLAN_EXT_CAPAB_MSCS)) {
                wpa_dbg(wpa_s, MSG_INFO,
                        "AP does not support MSCS - could not send MSCS Req");
                return -1;
index 46963e92f96377b22c0e1d5dcfeed570814cd1d5..c6cef5b1447565bbeb14dd26b79313a2d89f3fc8 100644 (file)
@@ -1881,13 +1881,11 @@ pfs_fail:
 #endif /* CONFIG_DPP2 */
 
        wpa_s->mscs_setup_done = false;
-       if (wpa_s->current_bss && wpa_s->robust_av.valid_config) {
+       if (wpa_bss_ext_capab(wpa_s->current_bss, WLAN_EXT_CAPAB_MSCS) &&
+           wpa_s->robust_av.valid_config) {
                struct wpabuf *mscs_ie;
                size_t mscs_ie_len, buf_len, *wpa_ie_len, max_ie_len;
 
-               if (!wpa_bss_ext_capab(wpa_s->current_bss, WLAN_EXT_CAPAB_MSCS))
-                       goto mscs_fail;
-
                buf_len = 3 +   /* MSCS descriptor IE header */
                          1 +   /* Request type */
                          2 +   /* User priority control */
index 281fe11bee42348d9d84bfbe9cda1367c0f464e9..216933f23c20f117bdc9885d4bc1f7cdc36a0b59 100644 (file)
@@ -3204,13 +3204,11 @@ pfs_fail:
                wpa_ie_len += wpa_s->rsnxe_len;
        }
 
-       if (bss && wpa_s->robust_av.valid_config) {
+       if (wpa_bss_ext_capab(bss, WLAN_EXT_CAPAB_MSCS) &&
+           wpa_s->robust_av.valid_config) {
                struct wpabuf *mscs_ie;
                size_t mscs_ie_len, buf_len;
 
-               if (!wpa_bss_ext_capab(bss, WLAN_EXT_CAPAB_MSCS))
-                       goto mscs_fail;
-
                buf_len = 3 +   /* MSCS descriptor IE header */
                          1 +   /* Request type */
                          2 +   /* User priority control */