[Spice-devel] [PATCH spice-server] reds: Check we don't register a channel twice in reds_register_channel
Frediano Ziglio
fziglio at redhat.com
Mon Mar 18 10:12:50 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.
>
I cannot find it. This patch is for spice-server.
> > 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
>
No, it will also exit the program if this condition is met.
>
> 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);
Frediano
More information about the Spice-devel
mailing list