The return value of memdup_user is a pointer to errno.Freeing it will cause error.Hence set it to NULL before branching to free the pointer.smatch also raises the same warning. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> --- drivers/staging/rtl8712/rtl871x_ioctl_linux.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/staging/rtl8712/rtl871x_ioctl_linux.c b/drivers/staging/rtl8712/rtl871x_ioctl_linux.c index 42fba3f..9d59be8 100644 --- a/drivers/staging/rtl8712/rtl871x_ioctl_linux.c +++ b/drivers/staging/rtl8712/rtl871x_ioctl_linux.c @@ -1915,6 +1915,7 @@ static int r871x_mp_ioctl_hdl(struct net_device *dev, pparmbuf = memdup_user(p->pointer, len); if (IS_ERR(pparmbuf)) { ret = PTR_ERR(pparmbuf); + pparmbuf = NULL; goto _r871x_mp_ioctl_hdl_exit; } poidparam = (struct mp_ioctl_param *)pparmbuf; -- 1.9.1 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel