Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1264084 > unrolled thread

[PATCH 2/3] staging: rtl8188eu: if/else replaced by min_t

Started byIvan Safonov <insafonov@gmail.com>
First post2015-11-06 16:20 +0100
Last post2015-11-06 23:00 +0100
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 2/3] staging: rtl8188eu: if/else replaced by min_t Ivan Safonov <insafonov@gmail.com> - 2015-11-06 16:20 +0100
    Re: [PATCH 2/3] staging: rtl8188eu: if/else replaced by min_t Andy Shevchenko <andy.shevchenko@gmail.com> - 2015-11-06 22:50 +0100
      Re: [PATCH 2/3] staging: rtl8188eu: if/else replaced by min_t Dan Carpenter <dan.carpenter@oracle.com> - 2015-11-06 23:00 +0100

#1264084 — [PATCH 2/3] staging: rtl8188eu: if/else replaced by min_t

FromIvan Safonov <insafonov@gmail.com>
Date2015-11-06 16:20 +0100
Subject[PATCH 2/3] staging: rtl8188eu: if/else replaced by min_t
Message-ID<qrQY2-6bv-21@gated-at.bofh.it>
Duplicated code removed.

Signed-off-by: Ivan Safonov <insafonov@gmail.com>
---
 drivers/staging/rtl8188eu/core/rtw_cmd.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_cmd.c b/drivers/staging/rtl8188eu/core/rtw_cmd.c
index c0fff77..80c602e 100644
--- a/drivers/staging/rtl8188eu/core/rtw_cmd.c
+++ b/drivers/staging/rtl8188eu/core/rtw_cmd.c
@@ -446,10 +446,7 @@ u8 rtw_joinbss_cmd(struct adapter  *padapter, struct wlan_network *pnetwork)
 
 	psecuritypriv->authenticator_ie[0] = (unsigned char)psecnetwork->IELength;
 
-	if ((psecnetwork->IELength-12) < (256-1))
-		memcpy(&psecuritypriv->authenticator_ie[1], &psecnetwork->IEs[12], psecnetwork->IELength-12);
-	else
-		memcpy(&psecuritypriv->authenticator_ie[1], &psecnetwork->IEs[12], (256-1));
+	memcpy(&psecuritypriv->authenticator_ie[1], &psecnetwork->IEs[12], min_t(int, psecnetwork->IELength - 12, 256 - 1));
 
 	psecnetwork->IELength = 0;
 	/*  Added by Albert 2009/02/18 */
-- 
2.4.10

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1264581

FromAndy Shevchenko <andy.shevchenko@gmail.com>
Date2015-11-06 22:50 +0100
Message-ID<qrX3s-1Fi-17@gated-at.bofh.it>
In reply to#1264084
On Fri, Nov 6, 2015 at 5:18 PM, Ivan Safonov <insafonov@gmail.com> wrote:
> Duplicated code removed.
>
> Signed-off-by: Ivan Safonov <insafonov@gmail.com>
> ---
>  drivers/staging/rtl8188eu/core/rtw_cmd.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/drivers/staging/rtl8188eu/core/rtw_cmd.c b/drivers/staging/rtl8188eu/core/rtw_cmd.c
> index c0fff77..80c602e 100644
> --- a/drivers/staging/rtl8188eu/core/rtw_cmd.c
> +++ b/drivers/staging/rtl8188eu/core/rtw_cmd.c
> @@ -446,10 +446,7 @@ u8 rtw_joinbss_cmd(struct adapter  *padapter, struct wlan_network *pnetwork)
>
>         psecuritypriv->authenticator_ie[0] = (unsigned char)psecnetwork->IELength;
>
> -       if ((psecnetwork->IELength-12) < (256-1))
> -               memcpy(&psecuritypriv->authenticator_ie[1], &psecnetwork->IEs[12], psecnetwork->IELength-12);
> -       else
> -               memcpy(&psecuritypriv->authenticator_ie[1], &psecnetwork->IEs[12], (256-1));
> +       memcpy(&psecuritypriv->authenticator_ie[1], &psecnetwork->IEs[12], min_t(int, psecnetwork->IELength - 12, 256 - 1));
>

Run checkpatch.pl.

256 looks like sizeof(…).

>         psecnetwork->IELength = 0;
>         /*  Added by Albert 2009/02/18 */
> --
> 2.4.10
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/



-- 
With Best Regards,
Andy Shevchenko
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1264583

FromDan Carpenter <dan.carpenter@oracle.com>
Date2015-11-06 23:00 +0100
Message-ID<qrXd8-1Iu-17@gated-at.bofh.it>
In reply to#1264581
On Fri, Nov 06, 2015 at 11:42:50PM +0200, Andy Shevchenko wrote:
> On Fri, Nov 6, 2015 at 5:18 PM, Ivan Safonov <insafonov@gmail.com> wrote:

> >         psecuritypriv->authenticator_ie[0] = (unsigned char)psecnetwork->IELength;
> >
> > -       if ((psecnetwork->IELength-12) < (256-1))
> > -               memcpy(&psecuritypriv->authenticator_ie[1], &psecnetwork->IEs[12], psecnetwork->IELength-12);
> > -       else
> > -               memcpy(&psecuritypriv->authenticator_ie[1], &psecnetwork->IEs[12], (256-1));
> > +       memcpy(&psecuritypriv->authenticator_ie[1], &psecnetwork->IEs[12], min_t(int, psecnetwork->IELength - 12, 256 - 1));
> >
> 
> Run checkpatch.pl.

The long line was there in the original so it's forgivable but probably
should be changed in v2.

The main thing though is that this looks to introduce a memory
corruption but because the original used unsigned comparison and we have
changed it to doing "int" comparison.  It should be u32 like in the
original code.  Or size_t would be ok too.

> 
> 256 looks like sizeof(…).

Yup.

regards,
dan carpenter

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web