Message ID | 20180323225350.7350-1-colin.king@canonical.com |
---|---|
State | Awaiting Upstream, archived |
Delegated to: | David Miller |
Headers | show |
Series | [next] batman-adv: don't pass a NULL hard_iface to batadv_hardif_put | expand |
On Freitag, 23. März 2018 23:53:50 CET Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > In the case where hard_iface is NULL, the error path may pass a null > pointer to batadv_hardif_put causing a null pointer dereference error. > Avoid this by only calling the function if hard_iface not null. > > Detected by CoverityScan, CID#1466456 ("Explicit null dereferenced") > > Fixes: 53dd9a68ba68 ("batman-adv: add multicast flags netlink support") > Signed-off-by: Colin Ian King <colin.king@canonical.com> > --- > net/batman-adv/multicast.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Queued up for David in batadv/net-next as d5863c47d725 [1] Now I only have to find out why I didn't receive the mail about this from coverity. Thanks, Sven [1] https://git.open-mesh.org/linux-merge.git/commit/d5863c47d7255448ec01713cbdb4f94b370d86ad
Hi, this looks good. David, would you pick this patch directly? Otherwise, I can send a pull request, but right now we would only have this single patch for net-next. Acked-by: Simon Wunderlich <sw@simonwunderlich.de> Acked-by: Sven Eckelmann <sven@narfation.org> (just discussed with Sven offline) Thank you, Simon On Friday, March 23, 2018 10:53:50 PM CEST Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > In the case where hard_iface is NULL, the error path may pass a null > pointer to batadv_hardif_put causing a null pointer dereference error. > Avoid this by only calling the function if hard_iface not null. > > Detected by CoverityScan, CID#1466456 ("Explicit null dereferenced") > > Fixes: 53dd9a68ba68 ("batman-adv: add multicast flags netlink support") > Signed-off-by: Colin Ian King <colin.king@canonical.com> > --- > net/batman-adv/multicast.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/batman-adv/multicast.c b/net/batman-adv/multicast.c > index de3a055f7dd8..bd0ea374d043 100644 > --- a/net/batman-adv/multicast.c > +++ b/net/batman-adv/multicast.c > @@ -1536,7 +1536,7 @@ batadv_mcast_netlink_get_primary(struct > netlink_callback *cb, > > if (!ret && primary_if) > *primary_if = hard_iface; > - else > + else if (hard_iface) > batadv_hardif_put(hard_iface); > > return ret;
diff --git a/net/batman-adv/multicast.c b/net/batman-adv/multicast.c index de3a055f7dd8..bd0ea374d043 100644 --- a/net/batman-adv/multicast.c +++ b/net/batman-adv/multicast.c @@ -1536,7 +1536,7 @@ batadv_mcast_netlink_get_primary(struct netlink_callback *cb, if (!ret && primary_if) *primary_if = hard_iface; - else + else if (hard_iface) batadv_hardif_put(hard_iface); return ret;