[Spice-devel] [PATCH spice-server] reds: Check we don't register a channel twice in reds_register_channel

Snir Sheriber ssheribe at redhat.com
Mon Mar 18 09:43:55 UTC 2019


Hi,

On 3/15/19 11:27 AM, Frediano Ziglio wrote:
> To avoid possibly regression check it only if extra checks are
> enabled.


Currently there's already a "channel duplication" warning upon connection
but won't hurt to have this extra check and emit an error.

> This allowed to check previous "Move channel registration to constructed


This allow/s? i don't get this sentence, it just avoids duplicate call. 
I think
i'd not even mention the previous commit


Snir.

> vfunc" commit.
>
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
>   server/reds.c | 5 +++++
>   1 file changed, 5 insertions(+)
>
> diff --git a/server/reds.c b/server/reds.c
> index 429f8142..e182eba7 100644
> --- a/server/reds.c
> +++ b/server/reds.c
> @@ -380,6 +380,11 @@ void stat_remove_counter(SpiceServer *reds, RedStatCounter *counter)
>   void reds_register_channel(RedsState *reds, RedChannel *channel)
>   {
>       spice_assert(reds);
> +    if (spice_extra_checks) {
> +        uint32_t this_type, this_id;
> +        g_object_get(channel, "channel-type", &this_type, "id", &this_id, NULL);
> +        spice_assert(reds_find_channel(reds, this_type, this_id) == NULL);
> +    }
>       reds->channels = g_list_prepend(reds->channels, channel);
>       // create new channel in the client if possible
>       main_channel_registered_new_channel(reds->main_channel, channel);


More information about the Spice-devel mailing list