Angus
any update on when this error occurs?

Regards
-steve
On Wed, 2008-08-20 at 06:54 +1200, angus salkeld wrote:
> Signed-off-by: Angus Salkeld <[EMAIL PROTECTED]>
> ---
>  exec/totemsrp.c |   12 +++++++++++-
>  1 files changed, 11 insertions(+), 1 deletions(-)
> 
> diff --git a/exec/totemsrp.c b/exec/totemsrp.c
> index 173534e..9c01a3c 100644
> --- a/exec/totemsrp.c
> +++ b/exec/totemsrp.c
> @@ -3148,6 +3148,7 @@ static int message_handler_orf_token (
>       }
>  #endif
>  
> +
>       if (endian_conversion_needed) {
>               orf_token_endian_convert ((struct orf_token *)msg,
>                       (struct orf_token *)token_convert);
> @@ -3158,10 +3159,19 @@ static int message_handler_orf_token (
>        * Make copy of token and retransmit list in case we have
>        * to flush incoming messages from the kernel queue
>        */
> +     if (msg_len < sizeof (struct orf_token)) {
> +             log_printf (instance->totemsrp_log_level_error,
> +                                     "message corrupt.  Length is %d, should 
> be %d\n",
> +                                     msg_len, (sizeof (struct orf_token)));
> +             return;
> +     }
>       token = (struct orf_token *)token_storage;
>       memcpy (token, msg, sizeof (struct orf_token));
> +     if (token->rtr_list_entries > RETRANSMIT_ENTRIES_MAX) {
> +             token->rtr_list_entries = RETRANSMIT_ENTRIES_MAX;
> +     }
>       memcpy (&token->rtr_list[0], msg + sizeof (struct orf_token),
> -             sizeof (struct rtr_item) * RETRANSMIT_ENTRIES_MAX);
> +             sizeof (struct rtr_item) * token->rtr_list_entries);
>  
> 
>       /*

_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to