Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 201a95af authored by David S. Miller's avatar David S. Miller
Browse files

[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: default avatarDavid S. Miller <davem@davemloft.net>
parent d458fd82
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -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;