diff options
author | Colin Ian King <colin.king@canonical.com> | 2018-03-26 14:27:12 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-03-27 17:38:26 +0300 |
commit | 8daf1a2d7e40685054ebae680733d822ced6df62 (patch) | |
tree | d3f650d83596587b191d5d14bca64b26c58414a5 | |
parent | 5306653850b444452937834adc5a5ac63bae275e (diff) | |
download | linux-8daf1a2d7e40685054ebae680733d822ced6df62.tar.xz |
net/ncsi: check for null return from call to nla_nest_start
The call to nla_nest_start calls nla_put which can lead to a NULL
return so it's possible for attr to become NULL and we can potentially
get a NULL pointer dereference on attr. Fix this by checking for
a NULL return.
Detected by CoverityScan, CID#1466125 ("Dereference null return")
Fixes: 955dc68cb9b2 ("net/ncsi: Add generic netlink family")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/ncsi/ncsi-netlink.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/ncsi/ncsi-netlink.c b/net/ncsi/ncsi-netlink.c index 05fcfb4fbe1d..8d7e849d4825 100644 --- a/net/ncsi/ncsi-netlink.c +++ b/net/ncsi/ncsi-netlink.c @@ -190,6 +190,10 @@ static int ncsi_pkg_info_nl(struct sk_buff *msg, struct genl_info *info) package_id = nla_get_u32(info->attrs[NCSI_ATTR_PACKAGE_ID]); attr = nla_nest_start(skb, NCSI_ATTR_PACKAGE_LIST); + if (!attr) { + kfree_skb(skb); + return -EMSGSIZE; + } rc = ncsi_write_package_info(skb, ndp, package_id); if (rc) { |