summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian Bunk <bunk@stusta.de>2006-10-31 16:59:35 -0800
committerDavid S. Miller <davem@sunset.davemloft.net>2006-11-01 15:42:33 -0800
commitd55b4c631e89a008e80b003e5aa4291d9ec800ac (patch)
tree3245eaef822d00a769c83515abd5b34a524aacdd
parent3ccfc65c5004e5fe5cfbffe43b8acc686680b53e (diff)
downloadlinux-d55b4c631e89a008e80b003e5aa4291d9ec800ac.tar.gz
linux-d55b4c631e89a008e80b003e5aa4291d9ec800ac.tar.bz2
linux-d55b4c631e89a008e80b003e5aa4291d9ec800ac.zip
[TIPC] net/tipc/port.c: fix NULL dereference
The correct order is: NULL check before dereference Spotted by the Coverity checker. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/tipc/port.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/tipc/port.c b/net/tipc/port.c
index c1a1a76759b5..b7f3199523ca 100644
--- a/net/tipc/port.c
+++ b/net/tipc/port.c
@@ -1136,11 +1136,12 @@ int tipc_publish(u32 ref, unsigned int scope, struct tipc_name_seq const *seq)
int res = -EINVAL;
p_ptr = tipc_port_lock(ref);
+ if (!p_ptr)
+ return -EINVAL;
+
dbg("tipc_publ %u, p_ptr = %x, conn = %x, scope = %x, "
"lower = %u, upper = %u\n",
ref, p_ptr, p_ptr->publ.connected, scope, seq->lower, seq->upper);
- if (!p_ptr)
- return -EINVAL;
if (p_ptr->publ.connected)
goto exit;
if (seq->lower > seq->upper)