lkml.org 
[lkml]   [2015]   [Nov]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/3] staging: rtl8188eu: if/else replaced by min_t
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



\
 
 \ /
  Last update: 2015-11-06 23:21    [W:1.474 / U:0.032 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site