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

Reply via email to