[libvirt] [PATCH 02/10] libvirtd: avoid leak on failure

Daniel Veillard veillard at redhat.com
Fri Jun 3 00:30:04 UTC 2011


On Thu, Jun 02, 2011 at 05:07:54PM -0600, Eric Blake wrote:
> Spotted by Coverity.  Only possible on an OOM condition, so
> unlikely to bite in the wild.
> 
> * daemon/libvirtd.c (qemudSetLogging): Don't leak memory.
> ---
>  daemon/libvirtd.c |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)
> 
> diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c
> index aec81cf..728031f 100644
> --- a/daemon/libvirtd.c
> +++ b/daemon/libvirtd.c
> @@ -2779,8 +2779,10 @@ qemudSetLogging(struct qemud_server *server, virConfPtr conf,
>                      goto free_and_fail;
> 
>                  if (virAsprintf(&tmp, "%d:file:%s/.libvirt/libvirtd.log",
> -                                virLogGetDefaultPriority(), userdir) == -1)
> +                                virLogGetDefaultPriority(), userdir) == -1) {
> +                    VIR_FREE(userdir);
>                      goto out_of_memory;
> +                }
>              }
>          } else {
>              if (virAsprintf(&tmp, "%d:stderr", virLogGetDefaultPriority()) < 0)

  ACK, userdir is defined only on the local scope, so that's the best way

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list