On Mon, 12 Sep 2011, Daniel Halperin wrote: > On Mon, Sep 12, 2011 at 12:08 PM, Johannes Berg > <johannes@xxxxxxxxxxxxxxxx> wrote: > > > > --- a/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c 2011-09-12 21:01:34.000000000 +0200 > > +++ b/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c 2011-09-12 21:01:43.000000000 +0200 > > @@ -167,7 +167,7 @@ static int iwlagn_set_temperature_offset > > > > memset(&cmd, 0, sizeof(cmd)); > > iwl_set_calib_hdr(&cmd.hdr, IWL_PHY_CALIBRATE_TEMP_OFFSET_CMD); > > - memcpy(&cmd.radio_sensor_offset, offset_calib, sizeof(offset_calib)); > > + memcpy(&cmd.radio_sensor_offset, offset_calib, sizeof(*offset_calib)); > > if (!(cmd.radio_sensor_offset)) > > cmd.radio_sensor_offset = DEFAULT_RADIO_SENSOR_OFFSET; > > Nice catch! > > This kinda bug seems ideal for Julia Lawall's stuff to catch, doesn't it? > > Right: memcpy(addr, obj, sizeof(*obj)) > Wrong: memcpy(addr, obj, sizeof(obj)) Yes... I have tried in the past the following: x = <+... sizeof(x) ...+> But that doesn't catch the above because there is no return value. I will try it. julia