From 9b37bc2c711b2a76ef3daa9437bbf9c58411afbd Mon Sep 17 00:00:00 2001 From: Sven Eckelmann Date: Tue, 19 Oct 2010 11:59:10 +0200 Subject: [PATCH] Staging: batman-adv: Don't dereference unchecked incoming soft_iface send_packet derefenced forw_packet->if_incoming and checked if forw_packet->if_incoming is NULL. This cannot happen, but still makes irritates when reading through the functions. Reported-by: Dan Carpenter Signed-off-by: Sven Eckelmann Signed-off-by: Greg Kroah-Hartman --- drivers/staging/batman-adv/send.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/staging/batman-adv/send.c b/drivers/staging/batman-adv/send.c index 5d57ef5..9032861 100644 --- a/drivers/staging/batman-adv/send.c +++ b/drivers/staging/batman-adv/send.c @@ -160,8 +160,8 @@ static void send_packet_to_if(struct forw_packet *forw_packet, static void send_packet(struct forw_packet *forw_packet) { struct batman_if *batman_if; - struct net_device *soft_iface = forw_packet->if_incoming->soft_iface; - struct bat_priv *bat_priv = netdev_priv(soft_iface); + struct net_device *soft_iface; + struct bat_priv *bat_priv; struct batman_packet *batman_packet = (struct batman_packet *)(forw_packet->skb->data); unsigned char directlink = (batman_packet->flags & DIRECTLINK ? 1 : 0); @@ -172,6 +172,9 @@ static void send_packet(struct forw_packet *forw_packet) return; } + soft_iface = forw_packet->if_incoming->soft_iface; + bat_priv = netdev_priv(soft_iface); + if (forw_packet->if_incoming->if_status != IF_ACTIVE) return; -- 2.7.4