
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@redhat.com> --- 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@redhat.com>