ipv4: fix NULL checking in devinet_ioctl()
authorXi Wang <xi.wang@gmail.com>
Sat, 5 Jan 2013 11:19:24 +0000 (11:19 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 7 Jan 2013 05:11:18 +0000 (21:11 -0800)
The NULL pointer check `!ifa' should come before its first use.

[ Bug origin : commit fd23c3b31107e2fc483301ee923d8a1db14e53f4
  (ipv4: Add hash table of interface addresses) in linux-2.6.39 ]

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/devinet.c

index cc06a47f12163ad8b93cae060a8c211bb13fcc73..a8e4f2665d5e6687c28438de69586673be9b3484 100644 (file)
@@ -823,9 +823,9 @@ int devinet_ioctl(struct net *net, unsigned int cmd, void __user *arg)
                if (!ifa) {
                        ret = -ENOBUFS;
                        ifa = inet_alloc_ifa();
-                       INIT_HLIST_NODE(&ifa->hash);
                        if (!ifa)
                                break;
+                       INIT_HLIST_NODE(&ifa->hash);
                        if (colon)
                                memcpy(ifa->ifa_label, ifr.ifr_name, IFNAMSIZ);
                        else