Yes, this is correct, I've pulled it into my tree. -corey
On 03/29/2013 02:18 AM, Chen Gang wrote: > when calling memcpy, read_data and write_data need additional 2 bytes. > > write_data: > for checking: "if (size > IPMI_MAX_MSG_LENGTH)" > for operating: "memcpy(bt->write_data + 3, data + 1, size - 1)" > > read_data: > for checking: "if (msg_len < 3 || msg_len > IPMI_MAX_MSG_LENGTH)" > for operating: "memcpy(data + 2, bt->read_data + 4, msg_len - 2)" > > > Signed-off-by: Chen Gang <[email protected]> > --- > drivers/char/ipmi/ipmi_bt_sm.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/char/ipmi/ipmi_bt_sm.c b/drivers/char/ipmi/ipmi_bt_sm.c > index cdd4c09f..a22a7a5 100644 > --- a/drivers/char/ipmi/ipmi_bt_sm.c > +++ b/drivers/char/ipmi/ipmi_bt_sm.c > @@ -95,9 +95,9 @@ struct si_sm_data { > enum bt_states state; > unsigned char seq; /* BT sequence number */ > struct si_sm_io *io; > - unsigned char write_data[IPMI_MAX_MSG_LENGTH]; > + unsigned char write_data[IPMI_MAX_MSG_LENGTH + 2]; /* +2 for memcpy */ > int write_count; > - unsigned char read_data[IPMI_MAX_MSG_LENGTH]; > + unsigned char read_data[IPMI_MAX_MSG_LENGTH + 2]; /* +2 for memcpy */ > int read_count; > int truncated; > long timeout; /* microseconds countdown */ ------------------------------------------------------------------------------ Own the Future-Intel(R) Level Up Game Demo Contest 2013 Rise to greatness in Intel's independent game demo contest. Compete for recognition, cash, and the chance to get your game on Steam. $5K grand prize plus 10 genre and skill prizes. Submit your demo by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2 _______________________________________________ Openipmi-developer mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openipmi-developer
