[Spice-devel] [PATCH spice-server] red-channel-client: Use SpiceMsgcAckSync structure

Frediano Ziglio fziglio at redhat.com
Mon Sep 30 17:30:45 UTC 2019


> 
> red_channel_client_handle_message is called after parsing the
> message so it's not necessary to check it again or parse manually.
> 
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
>  server/red-channel-client.c | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/server/red-channel-client.c b/server/red-channel-client.c
> index 66b8fd4a..f861cce5 100644
> --- a/server/red-channel-client.c
> +++ b/server/red-channel-client.c
> @@ -1473,11 +1473,7 @@ bool
> red_channel_client_handle_message(RedChannelClient *rcc, uint16_t type,
>  {
>      switch (type) {
>      case SPICE_MSGC_ACK_SYNC:
> -        if (size != sizeof(uint32_t)) {
> -            red_channel_warning(red_channel_client_get_channel(rcc), "bad
> message size");
> -            return FALSE;
> -        }
> -        rcc->priv->ack_data.client_generation = *(uint32_t *)(message);
> +        rcc->priv->ack_data.client_generation = ((SpiceMsgcAckSync *)
> message)->generation;

This last line is fine but I realized that for some reasons smartcard
channel is not setting the parser so would be better to leave the check.
Even better to use the parser maybe.

>          break;
>      case SPICE_MSGC_ACK:
>          if (rcc->priv->ack_data.client_generation ==
>          rcc->priv->ack_data.generation) {

Frediano


More information about the Spice-devel mailing list