fs/ocfs2/cluster/tcp.c: fix possible null pointer dereferences
authorSunil Mushran <sunil.mushran@oracle.com>
Wed, 11 Sep 2013 21:19:49 +0000 (14:19 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 11 Sep 2013 22:56:34 +0000 (15:56 -0700)
Fix some possible null pointer dereferences that were detected by the
static code analyser, smatch.

Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Reported-by: Dan Carpenter <error27@gmail.com>
Reported-by: Guozhonghua <guozhonghua@h3c.com>
Cc: Sunil Mushran <sunil.mushran@gmail.com>
Cc: Joseph Qi <joseph.qi@huawei.com>
Cc: Mark Fasheh <mfasheh@suse.com>
Cc: Joel Becker <jlbec@evilplan.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/ocfs2/cluster/tcp.c

index d644dc6..d04a3c2 100644 (file)
@@ -543,8 +543,9 @@ static void o2net_set_nn_state(struct o2net_node *nn,
        }
 
        if (was_valid && !valid) {
-               printk(KERN_NOTICE "o2net: No longer connected to "
-                      SC_NODEF_FMT "\n", SC_NODEF_ARGS(old_sc));
+               if (old_sc)
+                       printk(KERN_NOTICE "o2net: No longer connected to "
+                               SC_NODEF_FMT "\n", SC_NODEF_ARGS(old_sc));
                o2net_complete_nodes_nsw(nn);
        }
 
@@ -1695,13 +1696,12 @@ static void o2net_start_connect(struct work_struct *work)
                ret = 0;
 
 out:
-       if (ret) {
+       if (ret && sc) {
                printk(KERN_NOTICE "o2net: Connect attempt to " SC_NODEF_FMT
                       " failed with errno %d\n", SC_NODEF_ARGS(sc), ret);
                /* 0 err so that another will be queued and attempted
                 * from set_nn_state */
-               if (sc)
-                       o2net_ensure_shutdown(nn, sc, 0);
+               o2net_ensure_shutdown(nn, sc, 0);
        }
        if (sc)
                sc_put(sc);