summaryrefslogtreecommitdiffstats
path: root/source/lib
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2001-04-13 21:11:57 +0000
committerJeremy Allison <jra@samba.org>2001-04-13 21:11:57 +0000
commit5870e6019b82d2088b99acdc0f84e9e4847a1fa5 (patch)
tree287dac74469b8bcdaa09cbc09d6a561ca47f1029 /source/lib
parent192887fe72157a141b8df1977085f479e5204782 (diff)
downloadsamba-5870e6019b82d2088b99acdc0f84e9e4847a1fa5.tar.gz
samba-5870e6019b82d2088b99acdc0f84e9e4847a1fa5.tar.xz
samba-5870e6019b82d2088b99acdc0f84e9e4847a1fa5.zip
Michael Davidson <md@sco.COM> pointed out that acl_get_qualifier can potentially
return a malloced area so added sys_acl_free_qualifier() calls to all supported ACL interfaces to code with this (only Linux needs actual free call). Jeremy.
Diffstat (limited to 'source/lib')
-rw-r--r--source/lib/sysacls.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/source/lib/sysacls.c b/source/lib/sysacls.c
index 29630495725..02018a52b37 100644
--- a/source/lib/sysacls.c
+++ b/source/lib/sysacls.c
@@ -63,6 +63,7 @@ extern int DEBUGLEVEL;
int sys_acl_free_text(char *text) - free acl_to_text
int sys_acl_free_acl(SMB_ACL_T posix_acl)
+ int sys_acl_free_qualifier(SMB_ACL_T posix_acl)
*/
@@ -170,6 +171,11 @@ int sys_acl_free_acl(SMB_ACL_T the_acl)
return acl_free(the_acl);
}
+int sys_acl_free_qualifier(void *qual)
+{
+ return acl_free(qual);
+}
+
#elif defined(HAVE_UNIXWARE_ACLS) || defined(HAVE_SOLARIS_ACLS)
/*
@@ -762,6 +768,11 @@ int sys_acl_free_acl(SMB_ACL_T acl_d)
return 0;
}
+int sys_acl_free_qualifier(void *qual)
+{
+ return 0;
+}
+
#elif defined(HAVE_IRIX_ACLS)
int sys_acl_get_entry(SMB_ACL_T acl_d, int entry_id, SMB_ACL_ENTRY_T *entry_p)
@@ -1007,6 +1018,11 @@ int sys_acl_free_acl(SMB_ACL_T acl_d)
return 0;
}
+int sys_acl_free_qualifier(void *qual)
+{
+ return 0;
+}
+
#elif defined(HAVE_XFS_ACLS)
/* For Linux SGI/XFS Filesystems
* contributed by J Trostel, Connex
@@ -1221,6 +1237,11 @@ int sys_acl_free_acl(SMB_ACL_T the_acl)
return acl_free(the_acl);
}
+int sys_acl_free_qualifier(void *qual)
+{
+ return 0;
+}
+
#else /* No ACLs. */
int sys_acl_get_entry( SMB_ACL_T the_acl, int entry_id, SMB_ACL_ENTRY_T *entry_p)
@@ -1342,4 +1363,11 @@ int sys_acl_free_acl(SMB_ACL_T the_acl)
errno = ENOSYS;
return -1;
}
+
+int sys_acl_free_qualifier(void *qual)
+{
+ errno = ENOSYS;
+ return -1;
+}
+
#endif /* No ACLs. */