[rt2x00-users] [PATCH 5/9] drivers/net/wireless: Correct code taking the size of a pointer

Julia Lawall julia at diku.dk
Sun Dec 13 13:10:30 UTC 2009


On Sun, 13 Dec 2009, Andreas Schwab wrote:

> Julia Lawall <julia at diku.dk> writes:
> 
> > diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
> > index eb1e1d0..1e74732 100644
> > --- a/drivers/net/wireless/rt2x00/rt2800lib.c
> > +++ b/drivers/net/wireless/rt2x00/rt2800lib.c
> > @@ -2140,8 +2140,8 @@ static void rt2800_get_tkip_seq(struct ieee80211_hw *hw, u8 hw_key_idx,
> >  	rt2800_register_multiread(rt2x00dev, offset,
> >  				      &iveiv_entry, sizeof(iveiv_entry));
> >  
> > -	memcpy(&iveiv_entry.iv[0], iv16, sizeof(iv16));
> > -	memcpy(&iveiv_entry.iv[4], iv32, sizeof(iv32));
> > +	memcpy(&iveiv_entry.iv[0], iv16, sizeof(*iv16));
> > +	memcpy(&iveiv_entry.iv[4], iv32, sizeof(*iv32));
> 
> That still looks pretty bogus, the memcpy calls are overwriting the
> values written by the previous rt2800_register_multiread call.  Most
> likely the first two arguments need to be swapped.

OK, I will look at it and try again.

Thanks,
julia



More information about the users mailing list