[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