UBSan: Avoid integer overflow in a loop index counter
Split the check and decrementation into separate steps to avoid an unnecessary UBSan warning. hostapd.c:1895:14: runtime error: unsigned integer overflow: 0 - 1 cannot be represented in type 'size_t' (aka 'unsigned long') Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
8fc22fdde6
commit
9140caf5fb
1 changed files with 5 additions and 2 deletions
|
@ -1888,11 +1888,14 @@ static int hostapd_setup_interface_complete_sync(struct hostapd_iface *iface,
|
|||
if (j)
|
||||
os_memcpy(hapd->own_addr, prev_addr, ETH_ALEN);
|
||||
if (hostapd_setup_bss(hapd, j == 0)) {
|
||||
do {
|
||||
for (;;) {
|
||||
hapd = iface->bss[j];
|
||||
hostapd_bss_deinit_no_free(hapd);
|
||||
hostapd_free_hapd_data(hapd);
|
||||
} while (j-- > 0);
|
||||
if (j == 0)
|
||||
break;
|
||||
j--;
|
||||
}
|
||||
goto fail;
|
||||
}
|
||||
if (is_zero_ether_addr(hapd->conf->bssid))
|
||||
|
|
Loading…
Reference in a new issue