diff options
author | Jeremy Allison <jra@samba.org> | 2001-04-13 21:11:57 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2001-04-13 21:11:57 +0000 |
commit | 5870e6019b82d2088b99acdc0f84e9e4847a1fa5 (patch) | |
tree | 287dac74469b8bcdaa09cbc09d6a561ca47f1029 /source/lib | |
parent | 192887fe72157a141b8df1977085f479e5204782 (diff) | |
download | samba-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.c | 28 |
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. */ |