ieee802154: Don't leak memory in ieee802154_nl_fill_phy
In net/ieee802154/nl-phy.c::ieee802154_nl_fill_phy() I see two small issues. 1) If the allocation of 'buf' fails we may just as well return -EMSGSIZE directly rather than jumping to 'out:' and do a pointless kfree(0). 2) We do not free 'buf' unless we jump to one of the error labels and this leaks memory. This patch should address both. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Acked-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: David S. Miller <davem@conan.davemloft.net>
This commit is contained in:
parent
84860c7253
commit
b9cabe52c2
|
@ -44,7 +44,7 @@ static int ieee802154_nl_fill_phy(struct sk_buff *msg, u32 pid,
|
|||
pr_debug("%s\n", __func__);
|
||||
|
||||
if (!buf)
|
||||
goto out;
|
||||
return -EMSGSIZE;
|
||||
|
||||
hdr = genlmsg_put(msg, 0, seq, &nl802154_family, flags,
|
||||
IEEE802154_LIST_PHY);
|
||||
|
@ -65,6 +65,7 @@ static int ieee802154_nl_fill_phy(struct sk_buff *msg, u32 pid,
|
|||
pages * sizeof(uint32_t), buf);
|
||||
|
||||
mutex_unlock(&phy->pib_lock);
|
||||
kfree(buf);
|
||||
return genlmsg_end(msg, hdr);
|
||||
|
||||
nla_put_failure:
|
||||
|
|
Loading…
Reference in a new issue