[libvirt] [PATCH] security: avoid memory leak

Laine Stump laine at laine.org
Tue Feb 22 15:55:16 UTC 2011


On 02/21/2011 05:10 PM, Eric Blake wrote:
> Leak introduced in commit d6623003.
>
> * src/qemu/qemu_driver.c (qemuSecurityInit): Avoid leak on failure.
> * src/security/security_stack.c (virSecurityStackClose): Avoid
> leaking component drivers.
> ---
>   src/qemu/qemu_driver.c        |    5 ++++-
>   src/security/security_stack.c |    7 ++++++-
>   2 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index 0f25a2a..8b15a3e 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -204,8 +204,11 @@ qemuSecurityInit(struct qemud_driver *driver)
>               goto error;
>
>           if (!(driver->securityManager = virSecurityManagerNewStack(mgr,
> -                                                                   dac)))
> +                                                                   dac))) {
> +
> +            virSecurityManagerFree(dac);
>               goto error;
> +        }
>       } else {
>           driver->securityManager = mgr;
>       }
> diff --git a/src/security/security_stack.c b/src/security/security_stack.c
> index 79b3e1f..64f745a 100644
> --- a/src/security/security_stack.c
> +++ b/src/security/security_stack.c
> @@ -61,8 +61,13 @@ virSecurityStackOpen(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED)
>   }
>
>   static int
> -virSecurityStackClose(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED)
> +virSecurityStackClose(virSecurityManagerPtr mgr)
>   {
> +    virSecurityStackDataPtr priv = virSecurityManagerGetPrivateData(mgr);
> +
> +    virSecurityManagerFree(priv->primary);
> +    virSecurityManagerFree(priv->secondary);
> +
>       return 0;
>   }
>

ACK.




More information about the libvir-list mailing list