On Fri, Dec 9, 2016 at 4:48 PM, Christophe Fergeau <cfergeau@xxxxxxxxxx> 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@xxxxxxxxxx > 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 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list