]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
wpa_supplicant: Fix HT STBC capability overriding on big-endian CPUs
authorJouni Malinen <j@w1.fi>
Sat, 22 Feb 2025 09:09:05 +0000 (11:09 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 22 Feb 2025 09:09:05 +0000 (11:09 +0200)
The STBC bits need to be converted to little-endian just like the mask
they are ANDed with.

Fixes: cdeea70f59d0 ("wpa_supplicant: Allow overriding HT STBC capabilities")
Signed-off-by: Jouni Malinen <j@w1.fi>
wpa_supplicant/wpa_supplicant.c

index b43692d33ca17b90c7aff216f9044f0bfdefb559..661a7524cd18fd728be6085b3a588034f3f0d20d 100644 (file)
@@ -6565,7 +6565,7 @@ static int wpa_set_tx_stbc(struct wpa_supplicant *wpa_s,
 
        htcaps_mask->ht_capabilities_info |= msk;
        htcaps->ht_capabilities_info &= ~msk;
-       htcaps->ht_capabilities_info |= (tx_stbc << 7) & msk;
+       htcaps->ht_capabilities_info |= host_to_le16(tx_stbc << 7) & msk;
 
        return 0;
 }
@@ -6591,7 +6591,7 @@ static int wpa_set_rx_stbc(struct wpa_supplicant *wpa_s,
 
        htcaps_mask->ht_capabilities_info |= msk;
        htcaps->ht_capabilities_info &= ~msk;
-       htcaps->ht_capabilities_info |= (rx_stbc << 8) & msk;
+       htcaps->ht_capabilities_info |= host_to_le16(rx_stbc << 8) & msk;
 
        return 0;
 }