UBSan: Split loop index decrementation into a separate step

Avoid an unnecessary unsigned integer overflow warning due to loop index
j-- use.

hostapd.c:661:10: runtime error: unsigned integer overflow: 0 - 1 cannot be represented in type 'unsigned int'

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2019-02-23 18:14:29 +02:00
parent 5ac13f6d00
commit b3957edbe9

View file

@ -658,8 +658,10 @@ static int hostapd_validate_bssid_configuration(struct hostapd_iface *iface)
for (i = 5; i > 5 - j; i--) for (i = 5; i > 5 - j; i--)
mask[i] = 0; mask[i] = 0;
j = bits % 8; j = bits % 8;
while (j--) while (j) {
j--;
mask[i] <<= 1; mask[i] <<= 1;
}
skip_mask_ext: skip_mask_ext:
wpa_printf(MSG_DEBUG, "BSS count %lu, BSSID mask " MACSTR " (%d bits)", wpa_printf(MSG_DEBUG, "BSS count %lu, BSSID mask " MACSTR " (%d bits)",