net: tipc: prevent possible null deref of link
authorCengiz Can <cengiz@kernel.wtf>
Mon, 7 Dec 2020 08:14:24 +0000 (11:14 +0300)
committerDavid S. Miller <davem@davemloft.net>
Tue, 8 Dec 2020 23:53:41 +0000 (15:53 -0800)
`tipc_node_apply_property` does a null check on a `tipc_link_entry`
pointer but also accesses the same pointer out of the null check block.

This triggers a warning on Coverity Static Analyzer because we're
implying that `e->link` can BE null.

Move "Update MTU for node link entry" line into if block to make sure
that we're not in a state that `e->link` is null.

Signed-off-by: Cengiz Can <cengiz@kernel.wtf>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/node.c

index c95d037..83978d5 100644 (file)
@@ -2181,9 +2181,11 @@ void tipc_node_apply_property(struct net *net, struct tipc_bearer *b,
                                                        &xmitq);
                        else if (prop == TIPC_NLA_PROP_MTU)
                                tipc_link_set_mtu(e->link, b->mtu);
+
+                       /* Update MTU for node link entry */
+                       e->mtu = tipc_link_mss(e->link);
                }
-               /* Update MTU for node link entry */
-               e->mtu = tipc_link_mss(e->link);
+
                tipc_node_write_unlock(n);
                tipc_bearer_xmit(net, bearer_id, &xmitq, &e->maddr, NULL);
        }