staging: r8712u: fix potential NULL pointer dereference in r871x_wps_start()
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Mon, 8 Oct 2012 00:43:45 +0000 (08:43 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 22 Oct 2012 20:30:01 +0000 (13:30 -0700)
The dereference should be moved below the NULL test.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8712/rtl871x_ioctl_linux.c

index c9a6a7f..3a64790 100644 (file)
@@ -2110,10 +2110,10 @@ static int r871x_wps_start(struct net_device *dev,
        struct iw_point *pdata = &wrqu->data;
        u32   u32wps_start = 0;
 
-       if (copy_from_user((void *)&u32wps_start, pdata->pointer, 4))
-               return -EFAULT;
        if ((padapter->bDriverStopped) || (pdata == NULL))
                return -EINVAL;
+       if (copy_from_user((void *)&u32wps_start, pdata->pointer, 4))
+               return -EFAULT;
        if (u32wps_start == 0)
                u32wps_start = *extra;
        if (u32wps_start == 1) /* WPS Start */