[virt-tools-list] [virt-viewer] vnc: Error out when failing to parse URI in open_uri()

Fabiano Fidêncio fabiano at fidencio.org
Sat Dec 10 12:42:10 UTC 2016


On Fri, Dec 9, 2016 at 4:48 PM, Christophe Fergeau <cfergeau at redhat.com> wrote:
> Currently, if an invalid URI is passed to
> virt_viewer_session_vnc_open_uri(), we will pass a NULL host/port to
> vnc_display_open_host(), which will trigger a crash (see
> https://bugzilla.gnome.org/show_bug.cgi?id=775890).
>
> This commit errors out before calling vnc_display_open_host() when we
> failed to parse the hostname or the port from the URI.
>
> https://bugzilla.redhat.com/show_bug.cgi?id=1378031
> ---
>  src/virt-viewer-session-vnc.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/src/virt-viewer-session-vnc.c b/src/virt-viewer-session-vnc.c
> index 231f22f..5cd20af 100644
> --- a/src/virt-viewer-session-vnc.c
> +++ b/src/virt-viewer-session-vnc.c
> @@ -215,7 +215,7 @@ virt_viewer_session_vnc_open_uri(VirtViewerSession* session,
>      VirtViewerApp *app = virt_viewer_session_get_app(session);
>      gchar *portstr;
>      gchar *hoststr = NULL;
> -    gboolean ret;
> +    gboolean ret = FALSE;
>
>      g_return_val_if_fail(self != NULL, FALSE);
>      g_return_val_if_fail(self->priv->vnc != NULL, FALSE);
> @@ -250,9 +250,11 @@ virt_viewer_session_vnc_open_uri(VirtViewerSession* session,
>          xmlFreeURI(uri);
>      }
>
> -    ret = vnc_display_open_host(self->priv->vnc,
> -                                hoststr,
> -                                portstr);
> +    if ((hoststr != NULL) && (portstr != NULL)) {
> +        ret = vnc_display_open_host(self->priv->vnc,
> +                                    hoststr,
> +                                    portstr);
> +    }
>      g_free(portstr);
>      g_free(hoststr);
>      return ret;
> --
> 2.9.3
>
> _______________________________________________
> virt-tools-list mailing list
> virt-tools-list at redhat.com
> https://www.redhat.com/mailman/listinfo/virt-tools-list

Christophe,

Wouldn't worth setting the error to something meaningful as well?

Best Regards,
-- 
Fabiano Fidêncio




More information about the virt-tools-list mailing list