ipmr: off by one in __ipmr_fill_mroute()
This fixes a smatch warning: net/ipv4/ipmr.c +1917 __ipmr_fill_mroute(12) error: buffer overflow '(mrt)->vif_table' 32 <= 32 The ipv6 version had the same issue. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
d938a702e5
Коммит
ed0f160ad6
|
@ -1911,7 +1911,7 @@ static int __ipmr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb,
|
|||
struct rtattr *mp_head;
|
||||
|
||||
/* If cache is unresolved, don't try to parse IIF and OIF */
|
||||
if (c->mfc_parent > MAXVIFS)
|
||||
if (c->mfc_parent >= MAXVIFS)
|
||||
return -ENOENT;
|
||||
|
||||
if (VIF_EXISTS(mrt, c->mfc_parent))
|
||||
|
|
|
@ -2017,7 +2017,7 @@ static int __ip6mr_fill_mroute(struct mr6_table *mrt, struct sk_buff *skb,
|
|||
struct rtattr *mp_head;
|
||||
|
||||
/* If cache is unresolved, don't try to parse IIF and OIF */
|
||||
if (c->mf6c_parent > MAXMIFS)
|
||||
if (c->mf6c_parent >= MAXMIFS)
|
||||
return -ENOENT;
|
||||
|
||||
if (MIF_EXISTS(mrt, c->mf6c_parent))
|
||||
|
|
Загрузка…
Ссылка в новой задаче