Fix coding oddities

Message ID 20180625202850.GA4128@Mindship-03
State New
Headers show
Series
  • Fix coding oddities
Related show

Commit Message

Jouke Witteveen June 25, 2018, 8:28 p.m.
One typo and one peculiar update loop.

Signed-off-by: Jouke Witteveen <j.witteveen@gmail.com>
---

I came accross one typo, which had survived over four years, and one odd
loop in which a variable was updated at every iteration. If you dislike
how I refactored the loop, feel free to kick that part of the patch out.

Regards,
- Jouke

 wpa_supplicant/wpa_supplicant.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

Patch

diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index 185a8d50f..5865727c4 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -1656,7 +1656,7 @@  static void wpas_ext_capab_byte(struct wpa_supplicant *wpa_s, u8 *pos, int idx)
 		break;
 	case 4: /* Bits 32-39 */
 #ifdef CONFIG_INTERWORKING
-		if (wpa_s->drv_flags / WPA_DRIVER_FLAGS_QOS_MAPPING)
+		if (wpa_s->drv_flags & WPA_DRIVER_FLAGS_QOS_MAPPING)
 			*pos |= 0x01; /* Bit 32 - QoS Map */
 #endif /* CONFIG_INTERWORKING */
 		break;
@@ -1691,7 +1691,7 @@  static void wpas_ext_capab_byte(struct wpa_supplicant *wpa_s, u8 *pos, int idx)
 
 int wpas_build_ext_capab(struct wpa_supplicant *wpa_s, u8 *buf, size_t buflen)
 {
-	u8 *pos = buf;
+	u8 *pos = buf + 2;
 	u8 len = 10, i;
 
 	if (len < wpa_s->extended_capa_len)
@@ -1702,8 +1702,6 @@  int wpas_build_ext_capab(struct wpa_supplicant *wpa_s, u8 *buf, size_t buflen)
 		return -1;
 	}
 
-	*pos++ = WLAN_EID_EXT_CAPAB;
-	*pos++ = len;
 	for (i = 0; i < len; i++, pos++) {
 		wpas_ext_capab_byte(wpa_s, pos, i);
 
@@ -1713,10 +1711,10 @@  int wpas_build_ext_capab(struct wpa_supplicant *wpa_s, u8 *buf, size_t buflen)
 		}
 	}
 
-	while (len > 0 && buf[1 + len] == 0) {
+	while (len > 0 && buf[1 + len] == 0)
 		len--;
-		buf[1] = len;
-	}
+	buf[0] = WLAN_EID_EXT_CAPAB;
+	buf[1] = len;
 	if (len == 0)
 		return 0;