summaryrefslogtreecommitdiff
path: root/source3/modules/vfs_audit.c
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2003-02-21 16:15:44 +0000
committerGerald Carter <jerry@samba.org>2003-02-21 16:15:44 +0000
commitb0415dfd7b028d4ff355f23d388487f291ab2766 (patch)
treebf2977096caac8de54bb3453ca1099b16d11aaf6 /source3/modules/vfs_audit.c
parent217945cfc824ac0209738246d48ef2ece487f59b (diff)
downloadsamba-b0415dfd7b028d4ff355f23d388487f291ab2766.tar.gz
samba-b0415dfd7b028d4ff355f23d388487f291ab2766.tar.bz2
samba-b0415dfd7b028d4ff355f23d388487f291ab2766.zip
patch from Hal Roberts check for a valid [f]chmod_acl function pointer before calling it. Fixes seg fault in audit VFS module
(This used to be commit e5acebbe79a97191903ee3a1819410a0fb9ac655)
Diffstat (limited to 'source3/modules/vfs_audit.c')
-rw-r--r--source3/modules/vfs_audit.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/source3/modules/vfs_audit.c b/source3/modules/vfs_audit.c
index 92b78c1c32..1944c98e53 100644
--- a/source3/modules/vfs_audit.c
+++ b/source3/modules/vfs_audit.c
@@ -233,7 +233,12 @@ static int audit_chmod(struct connection_struct *conn, const char *path, mode_t
static int audit_chmod_acl(struct connection_struct *conn, const char *path, mode_t mode)
{
- int result = default_vfs_ops.chmod_acl(conn, path, mode);
+ int result;
+
+ if ( !default_vfs_ops.chmod_acl )
+ return 0;
+
+ result = default_vfs_ops.chmod_acl(conn, path, mode);
syslog(SYSLOG_PRIORITY, "chmod_acl %s mode 0x%x %s%s\n",
path, mode,
@@ -257,7 +262,12 @@ static int audit_fchmod(struct files_struct *fsp, int fd, mode_t mode)
static int audit_fchmod_acl(struct files_struct *fsp, int fd, mode_t mode)
{
- int result = default_vfs_ops.fchmod_acl(fsp, fd, mode);
+ int result;
+
+ if ( !default_vfs_ops.fchmod_acl )
+ return 0;
+
+ result = default_vfs_ops.fchmod_acl(fsp, fd, mode);
syslog(SYSLOG_PRIORITY, "fchmod_acl %s mode 0x%x %s%s\n",
fsp->fsp_name, mode,