瀏覽代碼

[APPLETALK]: Fix potential OOPS in atalk_sendmsg().

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>
David S. Miller 18 年之前
父節點
當前提交
201a95afaa
共有 1 個文件被更改,包括 0 次插入2 次删除
  1. 0 2
      net/appletalk/ddp.c

+ 0 - 2
net/appletalk/ddp.c

@@ -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) {
 	if (usat->sat_addr.s_net || usat->sat_addr.s_node == ATADDR_ANYNODE) {
 		rt = atrtr_find(&usat->sat_addr);
 		rt = atrtr_find(&usat->sat_addr);
-		dev = rt->dev;
 	} else {
 	} else {
 		struct atalk_addr at_hint;
 		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;
 		at_hint.s_net  = at->src_net;
 
 
 		rt = atrtr_find(&at_hint);
 		rt = atrtr_find(&at_hint);
-		dev = rt->dev;
 	}
 	}
 	if (!rt)
 	if (!rt)
 		return -ENETUNREACH;
 		return -ENETUNREACH;