提交 2b7425f3 编写于 作者: H Hante Meuleman 提交者: Kalle Valo

brcmfmac: fix clearing entry IPv6 address

When IPv6 address is to be cleared there is a possible out of
bound access. But also the clearing of the last entry and the
adjustment of total number of stored IPv6 addresses is not
updated. This patch fixes that bug. Bug was found using coverity.
Reviewed-by: NArend Van Spriel <arend.vanspriel@broadcom.com>
Reviewed-by: NFranky Lin <franky.lin@broadcom.com>
Reviewed-by: NPieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
Signed-off-by: NHante Meuleman <hante.meuleman@broadcom.com>
Signed-off-by: NArend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
上级 835680b8
...@@ -873,9 +873,12 @@ static int brcmf_inet6addr_changed(struct notifier_block *nb, ...@@ -873,9 +873,12 @@ static int brcmf_inet6addr_changed(struct notifier_block *nb,
} }
break; break;
case NETDEV_DOWN: case NETDEV_DOWN:
if (i < NDOL_MAX_ENTRIES) if (i < NDOL_MAX_ENTRIES) {
for (; i < ifp->ipv6addr_idx; i++) for (; i < ifp->ipv6addr_idx - 1; i++)
table[i] = table[i + 1]; table[i] = table[i + 1];
memset(&table[i], 0, sizeof(table[i]));
ifp->ipv6addr_idx--;
}
break; break;
default: default:
break; break;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册