Fix memory leak introduced on 2008-05-22.
authorBruno Haible <bruno@clisp.org>
Sun, 8 Jun 2008 02:51:21 +0000 (04:51 +0200)
committerBruno Haible <bruno@clisp.org>
Sun, 8 Jun 2008 02:51:21 +0000 (04:51 +0200)
ChangeLog
lib/set-mode-acl.c

index 6b4b68e56fd747aff840c30d6330f372efcb5ebf..edce9825dc50be0965bee7d6ba97005468e57dbd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-06-07  Bruno Haible  <bruno@clisp.org>
+
+       Fix memory leak introduced on 2008-05-22.
+       * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
+       use.
+
 2008-06-07  Bruno Haible  <bruno@clisp.org>
 
        * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
index cf59738659bed98bd330438d4fc73833765cc1bc..6780d2393929dcc03889b59979683804b735bd9f 100644 (file)
@@ -153,6 +153,8 @@ qset_acl (char const *name, int desc, mode_t mode)
     acl = acl_get_file (name, ACL_TYPE_ACCESS);
   if (acl)
     {
+      acl_free (acl);
+
       acl = acl_init (0);
       if (acl)
        {
@@ -176,6 +178,7 @@ qset_acl (char const *name, int desc, mode_t mode)
              errno = saved_errno;
              return -1;
            }
+         acl_free (acl);
        }
     }