[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-trivial] [PATCH 6/9] acl: fix memory leak
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-trivial] [PATCH 6/9] acl: fix memory leak |
Date: |
Mon, 17 Nov 2014 11:48:48 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 |
On 15/11/2014 11:06, address@hidden wrote:
> From: Gonglei <address@hidden>
>
> If 'i != index' for all acl->entries, variable
> entry leaks the storage it points to.
>
> Signed-off-by: Gonglei <address@hidden>
> ---
> util/acl.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/util/acl.c b/util/acl.c
> index 938b7ae..571d686 100644
> --- a/util/acl.c
> +++ b/util/acl.c
> @@ -132,7 +132,6 @@ int qemu_acl_insert(qemu_acl *acl,
> const char *match,
> int index)
> {
> - qemu_acl_entry *entry;
> qemu_acl_entry *tmp;
> int i = 0;
>
> @@ -142,13 +141,14 @@ int qemu_acl_insert(qemu_acl *acl,
> return qemu_acl_append(acl, deny, match);
> }
>
> - entry = g_malloc(sizeof(*entry));
> - entry->match = g_strdup(match);
> - entry->deny = deny;
> -
> QTAILQ_FOREACH(tmp, &acl->entries, next) {
> i++;
> if (i == index) {
> + qemu_acl_entry *entry;
> + entry = g_malloc(sizeof(*entry));
> + entry->match = g_strdup(match);
> + entry->deny = deny;
> +
> QTAILQ_INSERT_BEFORE(tmp, entry, next);
> acl->nentries++;
> break;
>
This should never happen, but the patch doesn't hurt either.
Paolo
- Re: [Qemu-trivial] [Qemu-devel] [PATCH 5/9] nvme: remove superfluous check, (continued)
- [Qemu-trivial] [PATCH 2/9] mips_mipssim: fix use-after-free for filename, arei.gonglei, 2014/11/15
- [Qemu-trivial] [PATCH 6/9] acl: fix memory leak, arei.gonglei, 2014/11/15
- Re: [Qemu-trivial] [PATCH 6/9] acl: fix memory leak,
Paolo Bonzini <=
- [Qemu-trivial] [PATCH 8/9] shpc: fix dead code, arei.gonglei, 2014/11/15
- [Qemu-trivial] [PATCH 9/9] hcd-musb: fix dereference null return value, arei.gonglei, 2014/11/15