diff mbox

[1/2] acl: Fix acl_remove not to mess up the ACL

Message ID 1358259856-9422-2-git-send-email-armbru@redhat.com
State New
Headers show

Commit Message

Markus Armbruster Jan. 15, 2013, 2:24 p.m. UTC
It leaks memory and fails to adjust qemu_acl member nentries.  Future
acl_add become confused: can misreport the position, and can silently
fail to add.

Cc: qemu-stable@nongnu.org
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 util/acl.c | 3 +++
 1 file changed, 3 insertions(+)
diff mbox

Patch

diff --git a/util/acl.c b/util/acl.c
index 81ac255..21b2205 100644
--- a/util/acl.c
+++ b/util/acl.c
@@ -168,6 +168,9 @@  int qemu_acl_remove(qemu_acl *acl,
         i++;
         if (strcmp(entry->match, match) == 0) {
             QTAILQ_REMOVE(&acl->entries, entry, next);
+            acl->nentries--;
+            g_free(entry->match);
+            g_free(entry);
             return i;
         }
     }