staging: ks7010: do not dereference priv if priv is null
authorColin Ian King <colin.king@canonical.com>
Sat, 13 Aug 2016 18:52:38 +0000 (19:52 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 15 Aug 2016 14:35:13 +0000 (16:35 +0200)
priv is being dereferenced before a check for it being null
is made, so there is a possibililty a null pointer deference
can occur. Instead, only dereference priv if it is non-null.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/ks7010/ks7010_sdio.c

index a0facfc54e4b7622032e5efe53d06100ad32ba8e..47b69cbdb45bb7ac1fb2f283696a043133d09831 100644 (file)
@@ -1134,7 +1134,6 @@ static void ks7010_sdio_remove(struct sdio_func *func)
        int ret;
        struct ks_sdio_card *card;
        struct ks_wlan_private *priv;
-       struct net_device *netdev;
        DPRINTK(1, "ks7010_sdio_remove()\n");
 
        card = sdio_get_drvdata(func);
@@ -1144,8 +1143,9 @@ static void ks7010_sdio_remove(struct sdio_func *func)
 
        DPRINTK(1, "priv = card->priv\n");
        priv = card->priv;
-       netdev = priv->net_dev;
        if (priv) {
+               struct net_device *netdev = priv->net_dev;
+
                ks_wlan_net_stop(netdev);
                DPRINTK(1, "ks_wlan_net_stop\n");