[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