ieee802154: Fix possible NULL pointer dereference in wpan_phy_alloc
authorDenis Kirjanov <dkirjanov@hera.kernel.org>
Sun, 23 May 2010 05:45:45 +0000 (05:45 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 24 May 2010 06:11:07 +0000 (23:11 -0700)
Check for NULL pointer after kzalloc

Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ieee802154/wpan-class.c

index 3d803a1b9fb69a046205a57be9dcbe2bfb141e72..1627ef2e85229d524727af6c111e3f4aa6507d36 100644 (file)
@@ -147,13 +147,15 @@ struct wpan_phy *wpan_phy_alloc(size_t priv_size)
        struct wpan_phy *phy = kzalloc(sizeof(*phy) + priv_size,
                        GFP_KERNEL);
 
+       if (!phy)
+               goto out;
        mutex_lock(&wpan_phy_mutex);
        phy->idx = wpan_phy_idx++;
        if (unlikely(!wpan_phy_idx_valid(phy->idx))) {
                wpan_phy_idx--;
                mutex_unlock(&wpan_phy_mutex);
                kfree(phy);
-               return NULL;
+               goto out;
        }
        mutex_unlock(&wpan_phy_mutex);
 
@@ -168,6 +170,9 @@ struct wpan_phy *wpan_phy_alloc(size_t priv_size)
        phy->current_page = 0; /* for compatibility */
 
        return phy;
+
+out:
+       return NULL;
 }
 EXPORT_SYMBOL(wpan_phy_alloc);