staging: ks7010: move null check before dereference
authorTobin C. Harding <me@tobin.cc>
Mon, 10 Apr 2017 03:15:49 +0000 (13:15 +1000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 Apr 2017 14:05:50 +0000 (16:05 +0200)
Function parameter is cast to a local pointer which is then
dereferenced before it is checked to be non-NULL.

Move pointer null check to be before the pointer is dereferenced.

Signed-off-by: Tobin C. Harding <me@tobin.cc>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/ks7010/ks_wlan_net.c

index 89fcd23e8f944adcd59a97d0373b22d7c1d44e79..eb3573e5365d7ded108a3fbe0ab9b37749a58d7f 100644 (file)
@@ -1771,6 +1771,8 @@ static int ks_wlan_set_encode_ext(struct net_device *dev,
        unsigned int commit = 0;
 
        enc = (struct iw_encode_ext *)extra;
+       if (!enc)
+               return -EINVAL;
 
        DPRINTK(2, "flags=%04X:: ext_flags=%08X\n", dwrq->flags,
                enc->ext_flags);
@@ -1786,9 +1788,6 @@ static int ks_wlan_set_encode_ext(struct net_device *dev,
        if (dwrq->flags & IW_ENCODE_DISABLED)
                priv->wpa.key[index].key_len = 0;
 
-       if (!enc)
-               return -EINVAL;
-
        priv->wpa.key[index].ext_flags = enc->ext_flags;
        if (enc->ext_flags & IW_ENCODE_EXT_SET_TX_KEY) {
                priv->wpa.txkey = index;