On Fri, Dec 10, 2021 at 10:59:27 +0100, Andrea Bolognani wrote: > We need to make sure the URI scheme is present before passing > it to strchr(), otherwise we're going to get > > $ virt-ssh-helper foo > Segmentation fault (core dumped) > > Signed-off-by: Andrea Bolognani <abologna@xxxxxxxxxx> > --- > src/remote/remote_sockets.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/src/remote/remote_sockets.c b/src/remote/remote_sockets.c > index 2979576680..c315b24d30 100644 > --- a/src/remote/remote_sockets.c > +++ b/src/remote/remote_sockets.c > @@ -69,7 +69,15 @@ remoteSplitURIScheme(virURI *uri, > char **driver, > remoteDriverTransport *transport) > { > - char *p = strchr(uri->scheme, '+'); > + char *p = NULL; > + > + if (!uri->scheme) { > + virReportError(VIR_ERR_INVALID_ARG, "%s", > + _("missing scheme for URI")); The other place which leads to the call of this helper (virConnectOpenInternal) uses the following error to reject the uri if scheme is missing: virReportError(VIR_ERR_NO_CONNECT, _("URI '%s' does not include a driver name"), name); It looks like it's unlikely that anybody would use virt-ssh-helper manually though. Reviewed-by: Peter Krempa <pkrempa@xxxxxxxxxx>