[APPLETALK]: Fix potential OOPS in atalk_sendmsg().
David S. Miller [Fri, 27 Oct 2006 22:26:21 +0000 (15:26 -0700)]
atrtr_find() can return NULL, so do not blindly dereference
rt->dev before we check for rt being NULL.

Signed-off-by: David S. Miller <davem@davemloft.net>

net/appletalk/ddp.c

index 708e2e0..485e35c 100644 (file)
@@ -1584,7 +1584,6 @@ static int atalk_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr
 
        if (usat->sat_addr.s_net || usat->sat_addr.s_node == ATADDR_ANYNODE) {
                rt = atrtr_find(&usat->sat_addr);
-               dev = rt->dev;
        } else {
                struct atalk_addr at_hint;
 
@@ -1592,7 +1591,6 @@ static int atalk_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr
                at_hint.s_net  = at->src_net;
 
                rt = atrtr_find(&at_hint);
-               dev = rt->dev;
        }
        if (!rt)
                return -ENETUNREACH;