[Spice-devel] [PATCH] session: do not set empty port value from uri

Marc-André Lureau mlureau at redhat.com
Thu Feb 26 05:07:18 PST 2015


Hi

----- Original Message -----
> Setting an empty port value from URI makes spicy unable to connect from
> 'Recent connections' due a break URI given by spice_uri_create:
> 
> e.g: localhost?port=5900&tls-port=
> 
> Trying to connect with above URI breaks at spice_parse_uri with
> 'Failed to parse URI query'

I wonder if this shouldn't be acceptable URI, I think it could be.

> As we already check if port and tls_port are NULL, I've changed the
> check to verify if it is an empty string.

g_return_val_if_fail(s->port != NULL || s->tls_port != NULL, NULL);

We check if one of the two is !NULL, so you still need to keep a NULL check

> ---
>  gtk/spice-session.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/gtk/spice-session.c b/gtk/spice-session.c
> index 82ea55f..28ee8bc 100644
> --- a/gtk/spice-session.c
> +++ b/gtk/spice-session.c
> @@ -366,12 +366,13 @@ static gchar* spice_uri_create(SpiceSession *session)
>  
>          g_string_append(str, s->host);
>          g_string_append(str, "?");
> -        if (s->port != NULL) {
> +        if (s->port[0] != '\0') {
>              g_string_append_printf(str, "port=%s&", s->port);
>          }
> -        if (s->tls_port != NULL) {
> +        if (s->tls_port[0] != '\0') {
>              g_string_append_printf(str, "tls-port=%s", s->tls_port);
>          }
> +
>          return g_string_free(str, FALSE);
>      }
>  
> --
> 2.1.0
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
> 


More information about the Spice-devel mailing list