* [B.A.T.M.A.N.] [PATCH] batman-adv: Don't dereference unchecked incoming soft_iface
[not found] <20101008093941.GH11681@bicker>
@ 2010-10-09 0:19 ` Sven Eckelmann
2010-10-09 11:51 ` Marek Lindner
0 siblings, 1 reply; 2+ messages in thread
From: Sven Eckelmann @ 2010-10-09 0:19 UTC (permalink / raw)
To: b.a.t.m.a.n; +Cc: error27
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 <error27@gmail.com>
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
---
batman-adv/send.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/batman-adv/send.c b/batman-adv/send.c
index 625a3ba..7097ff0 100644
--- a/batman-adv/send.c
+++ b/batman-adv/send.c
@@ -163,8 +163,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);
@@ -175,6 +175,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;
--
1.7.2.3
^ permalink raw reply related [flat|nested] 2+ messages in thread