[libvirt] [PATCH] fixed segfault in virauth
Daniel P. Berrange
berrange at redhat.com
Mon Jul 23 19:41:28 UTC 2012
On Mon, Jul 23, 2012 at 08:51:23PM +0200, Martin Kletzander wrote:
> No check for conn->uri being NULL in virAuthGetConfigFilePath (valid state) made the client segfault. This happens with fresh defalt VDSM configuration for example.
Line wrap the commit message please.
> The check ought to be enough as conn->uri being NULL is valid in later code.
Can you explain a little further just what scenario leads to
this happening. In my tests with a NULL URI I don't see a
crash.
> ---
> src/util/virauth.c | 20 +++++++++++---------
> 1 files changed, 11 insertions(+), 9 deletions(-)
>
> diff --git a/src/util/virauth.c b/src/util/virauth.c
> index e6b1db0..2c1a4ae 100644
> --- a/src/util/virauth.c
> +++ b/src/util/virauth.c
> @@ -1,7 +1,7 @@
> /*
> * virauth.c: authentication related utility functions
> *
> - * Copyright (C) 2010 Matthias Bolte <matthias.bolte at googlemail.com>
> + * Copyright (C) 2010, 2012 Matthias Bolte <matthias.bolte at googlemail.com>
I'm pretty sure you're not Matthias, so you shouldn't be
changing this, rather adding in a Red Hat copyright.
> *
> * This library is free software; you can redistribute it and/or
> * modify it under the terms of the GNU Lesser General Public
> @@ -54,14 +54,16 @@ int virAuthGetConfigFilePath(virConnectPtr conn,
> return 0;
> }
>
> - for (i = 0 ; i < conn->uri->paramsCount ; i++) {
> - if (STREQ_NULLABLE(conn->uri->params[i].name, "authfile") &&
> - conn->uri->params[i].value) {
> - VIR_DEBUG("Using path from URI '%s'",
> - conn->uri->params[i].value);
> - if (!(*path = strdup(conn->uri->params[i].value)))
> - goto no_memory;
> - return 0;
> + if (conn && conn->uri) {
> + for (i = 0 ; i < conn->uri->paramsCount ; i++) {
> + if (STREQ_NULLABLE(conn->uri->params[i].name, "authfile") &&
> + conn->uri->params[i].value) {
> + VIR_DEBUG("Using path from URI '%s'",
> + conn->uri->params[i].value);
> + if (!(*path = strdup(conn->uri->params[i].value)))
> + goto no_memory;
> + return 0;
> + }
> }
> }
>
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list