summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Eigensatz <patrickeigensatz@gmail.com>2020-06-01 13:12:01 +0200
committerDavid S. Miller <davem@davemloft.net>2020-06-01 11:05:35 -0700
commitdafe2078a75af1abe4780313ef8dd8491ba8598f (patch)
treed59bf4e8f60ebc1603d125d25c9290672993275c
parent07f6ecec65547099d0e5ea1b1fba748c4b90eaf0 (diff)
downloadlinux-dafe2078a75af1abe4780313ef8dd8491ba8598f.tar.bz2
ipv4: nexthop: Fix deadcode issue by performing a proper NULL check
After allocating the spare nexthop group it should be tested for kzalloc() returning NULL, instead the already used nexthop group (which cannot be NULL at this point) had been tested so far. Additionally, if kzalloc() fails, return ERR_PTR(-ENOMEM) instead of NULL. Coverity-id: 1463885 Reported-by: Coverity <scan-admin@coverity.com> Signed-off-by: Patrick Eigensatz <patrickeigensatz@gmail.com> Acked-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/ipv4/nexthop.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv4/nexthop.c b/net/ipv4/nexthop.c
index ebafa5ed91ac..400a9f89ebdb 100644
--- a/net/ipv4/nexthop.c
+++ b/net/ipv4/nexthop.c
@@ -1185,10 +1185,10 @@ static struct nexthop *nexthop_create_group(struct net *net,
/* spare group used for removals */
nhg->spare = nexthop_grp_alloc(num_nh);
- if (!nhg) {
+ if (!nhg->spare) {
kfree(nhg);
kfree(nh);
- return NULL;
+ return ERR_PTR(-ENOMEM);
}
nhg->spare->spare = nhg;