diff mbox series

MLD: Read the correct BSSID from the RNR

Message ID 20231228131924.2443044-2-andrei.otcheretianski@intel.com
State Accepted
Headers show
Series MLD: Read the correct BSSID from the RNR | expand

Commit Message

Andrei Otcheretianski Dec. 28, 2023, 1:19 p.m. UTC
From: Benjamin Berg <benjamin.berg@intel.com>

The code would find the correct TBTT record in the RNR but then always
copied the BSSID from the first record out. Fix this to copy the BSSID
from the current position.

Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
---
 wpa_supplicant/bss.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Comments

Jouni Malinen Jan. 14, 2024, 4:24 p.m. UTC | #1
On Thu, Dec 28, 2023 at 03:19:22PM +0200, Andrei Otcheretianski wrote:
> The code would find the correct TBTT record in the RNR but then always
> copied the BSSID from the first record out. Fix this to copy the BSSID
> from the current position.

Thanks, applied.
diff mbox series

Patch

diff --git a/wpa_supplicant/bss.c b/wpa_supplicant/bss.c
index ae71d2777b..5788bad807 100644
--- a/wpa_supplicant/bss.c
+++ b/wpa_supplicant/bss.c
@@ -1530,13 +1530,12 @@  wpa_bss_parse_ml_rnr_ap_info(struct wpa_supplicant *wpa_s,
 				   "MLD: Reported link not part of MLD");
 		} else if (!(BIT(link_id) & *seen)) {
 			struct wpa_bss *neigh_bss =
-				wpa_bss_get_bssid(wpa_s, ap_info->data + 1);
+				wpa_bss_get_bssid(wpa_s, pos + 1);
 
 			*seen |= BIT(link_id);
 			wpa_printf(MSG_DEBUG, "MLD: mld ID=%u, link ID=%u",
 				   *mld_params, link_id);
 
-
 			if (!neigh_bss) {
 				*missing |= BIT(link_id);
 			} else if ((!ssid ||
@@ -1550,8 +1549,7 @@  wpa_bss_parse_ml_rnr_ap_info(struct wpa_supplicant *wpa_s,
 
 				l = &bss->mld_links[bss->n_mld_links];
 				l->link_id = link_id;
-				os_memcpy(l->bssid, ap_info->data + 1,
-					  ETH_ALEN);
+				os_memcpy(l->bssid, pos + 1, ETH_ALEN);
 				l->freq = neigh_bss->freq;
 				l->disabled = mld_params[2] &
 					RNR_TBTT_INFO_MLD_PARAM2_LINK_DISABLED;