[libvirt] [PATCH] sanlock: fix memory leak

Daniel Veillard veillard at redhat.com
Thu Sep 22 05:45:03 UTC 2011


On Wed, Sep 21, 2011 at 02:22:57PM -0600, Eric Blake wrote:
> Detected by Coverity.  The only way to get to error_unlink is if
> path was successfully assigned, so the if was useless.  Meanwhile,
> there was a return statement that did not free path.
> 
> * src/locking/lock_driver_sanlock.c
> (virLockManagerSanlockSetupLockspace): Fix mem-leak, and drop
> useless if.
> ---
>  src/locking/lock_driver_sanlock.c |    5 ++---
>  1 files changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/src/locking/lock_driver_sanlock.c b/src/locking/lock_driver_sanlock.c
> index 2d72510..13940f1 100644
> --- a/src/locking/lock_driver_sanlock.c
> +++ b/src/locking/lock_driver_sanlock.c
> @@ -239,7 +239,7 @@ static int virLockManagerSanlockSetupLockspace(void)
>                  virReportSystemError(-rv,
>                                       _("Unable to add lockspace %s"),
>                                       path);
> -            return -1;
> +            goto error_unlink;
>          } else {
>              VIR_DEBUG("Lockspace %s is already registered", path);
>          }
> @@ -250,8 +250,7 @@ static int virLockManagerSanlockSetupLockspace(void)
>      return 0;
> 
>  error_unlink:
> -    if (path)
> -        unlink(path);
> +    unlink(path);
>  error:
>      VIR_FORCE_CLOSE(fd);
>      VIR_FREE(path);

  ACK and pushed, thanks !

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