ipv4: Stop using NLA_PUT*().
These macros contain a hidden goto, and are thus extremely error prone and make code hard to audit. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -2120,15 +2120,16 @@ static int ipmr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb,
|
||||
rtm->rtm_src_len = 32;
|
||||
rtm->rtm_tos = 0;
|
||||
rtm->rtm_table = mrt->id;
|
||||
NLA_PUT_U32(skb, RTA_TABLE, mrt->id);
|
||||
if (nla_put_u32(skb, RTA_TABLE, mrt->id))
|
||||
goto nla_put_failure;
|
||||
rtm->rtm_type = RTN_MULTICAST;
|
||||
rtm->rtm_scope = RT_SCOPE_UNIVERSE;
|
||||
rtm->rtm_protocol = RTPROT_UNSPEC;
|
||||
rtm->rtm_flags = 0;
|
||||
|
||||
NLA_PUT_BE32(skb, RTA_SRC, c->mfc_origin);
|
||||
NLA_PUT_BE32(skb, RTA_DST, c->mfc_mcastgrp);
|
||||
|
||||
if (nla_put_be32(skb, RTA_SRC, c->mfc_origin) ||
|
||||
nla_put_be32(skb, RTA_DST, c->mfc_mcastgrp))
|
||||
goto nla_put_failure;
|
||||
if (__ipmr_fill_mroute(mrt, skb, c, rtm) < 0)
|
||||
goto nla_put_failure;
|
||||
|
||||
|
Reference in New Issue
Block a user