[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