[patch 1/2] staging: r8188eu: array overflow in rtw_mp_ioctl_hdl()

Larry Finger Larry.Finger at lwfinger.net
Fri Feb 7 02:50:29 UTC 2014


On 02/03/2014 04:38 PM, Dan Carpenter wrote:
> MAX_MP_IOCTL_SUBCODE (35) and mp_ioctl_hdl (32 elements) are no longer
> in sync.  It leads to a bogus pointer dereference.
>
> Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>

Acked-by: Larry Finger <Larry.Finger at lwfinger.net>

Larry

>
> diff --git a/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c b/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c
> index dec992569476..684bc8107a48 100644
> --- a/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c
> +++ b/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c
> @@ -2500,7 +2500,7 @@ static int rtw_mp_ioctl_hdl(struct net_device *dev, struct iw_request_info *info
>   		 ("rtw_mp_ioctl_hdl: subcode [%d], len[%d], buffer_len[%d]\r\n",
>   		  poidparam->subcode, poidparam->len, len));
>
> -	if (poidparam->subcode >= MAX_MP_IOCTL_SUBCODE) {
> +	if (poidparam->subcode >= ARRAY_SIZE(mp_ioctl_hdl)) {
>   		RT_TRACE(_module_rtl871x_ioctl_os_c, _drv_err_, ("no matching drvext subcodes\r\n"));
>   		ret = -EINVAL;
>   		goto _rtw_mp_ioctl_hdl_exit;
>



More information about the devel mailing list