[Spice-devel] [PATCH spice-server v2 10/12] Check image compression value earlier

Jonathon Jongsma jjongsma at redhat.com
Thu Mar 28 19:36:15 UTC 2019


Acked-by: Jonathon Jongsma <jjongsma at redhat.com>


On Tue, 2019-03-26 at 19:10 +0000, Frediano Ziglio wrote:
> Do not check it after assigning to reds->config->image_compression,
> check the value as soon as possible.
> This prevent potential invalid settings.
> 
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
>  server/red-worker.c | 28 ----------------------------
>  server/reds.c       | 34 +++++++++++++++++++++++++++++++---
>  2 files changed, 31 insertions(+), 31 deletions(-)
> 
> diff --git a/server/red-worker.c b/server/red-worker.c
> index d883f419..7382e24d 100644
> --- a/server/red-worker.c
> +++ b/server/red-worker.c
> @@ -684,34 +684,6 @@ static void handle_dev_set_compression(void
> *opaque, void *payload)
>      RedWorker *worker = opaque;
>      SpiceImageCompression image_compression = msg-
> >image_compression;
>  
> -    switch (image_compression) {
> -    case SPICE_IMAGE_COMPRESSION_AUTO_LZ:
> -        spice_debug("ic auto_lz");
> -        break;
> -    case SPICE_IMAGE_COMPRESSION_AUTO_GLZ:
> -        spice_debug("ic auto_glz");
> -        break;
> -    case SPICE_IMAGE_COMPRESSION_QUIC:
> -        spice_debug("ic quic");
> -        break;
> -#ifdef USE_LZ4
> -    case SPICE_IMAGE_COMPRESSION_LZ4:
> -        spice_debug("ic lz4");
> -        break;
> -#endif
> -    case SPICE_IMAGE_COMPRESSION_LZ:
> -        spice_debug("ic lz");
> -        break;
> -    case SPICE_IMAGE_COMPRESSION_GLZ:
> -        spice_debug("ic glz");
> -        break;
> -    case SPICE_IMAGE_COMPRESSION_OFF:
> -        spice_debug("ic off");
> -        break;
> -    default:
> -        spice_warning("ic invalid");
> -        image_compression = worker->image_compression;
> -    }
>      worker->image_compression = image_compression;
>  
>      display_channel_compress_stats_print(worker->display_channel);
> diff --git a/server/reds.c b/server/reds.c
> index 14e5728b..28542bd0 100644
> --- a/server/reds.c
> +++ b/server/reds.c
> @@ -3010,12 +3010,40 @@ static inline void
> on_activating_ticketing(RedsState *reds)
>      }
>  }
>  
> -static void reds_config_set_image_compression(RedsState *reds,
> SpiceImageCompression val)
> +static void reds_config_set_image_compression(RedsState *reds,
> SpiceImageCompression image_compression)
>  {
> -    if (val == reds->config->image_compression) {
> +    if (image_compression == reds->config->image_compression) {
>          return;
>      }
> -    reds->config->image_compression = val;
> +    switch (image_compression) {
> +    case SPICE_IMAGE_COMPRESSION_AUTO_LZ:
> +        spice_debug("ic auto_lz");
> +        break;
> +    case SPICE_IMAGE_COMPRESSION_AUTO_GLZ:
> +        spice_debug("ic auto_glz");
> +        break;
> +    case SPICE_IMAGE_COMPRESSION_QUIC:
> +        spice_debug("ic quic");
> +        break;
> +#ifdef USE_LZ4
> +    case SPICE_IMAGE_COMPRESSION_LZ4:
> +        spice_debug("ic lz4");
> +        break;
> +#endif
> +    case SPICE_IMAGE_COMPRESSION_LZ:
> +        spice_debug("ic lz");
> +        break;
> +    case SPICE_IMAGE_COMPRESSION_GLZ:
> +        spice_debug("ic glz");
> +        break;
> +    case SPICE_IMAGE_COMPRESSION_OFF:
> +        spice_debug("ic off");
> +        break;
> +    default:
> +        spice_warning("ic invalid");
> +        return;
> +    }
> +    reds->config->image_compression = image_compression;
>      reds_on_ic_change(reds);
>  }
>  



More information about the Spice-devel mailing list