diff options
author | Gerald Carter <jerry@samba.org> | 2003-02-21 16:15:30 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2003-02-21 16:15:30 +0000 |
commit | 5e115d43812021f9a16111fc7c05d750026cca1e (patch) | |
tree | 1eb08886f58aaa62556fbba2e714295f91e7a6cc | |
parent | df3c7c9cbb275e9c35356b4f1cab1a741de6f500 (diff) | |
download | samba-5e115d43812021f9a16111fc7c05d750026cca1e.tar.gz samba-5e115d43812021f9a16111fc7c05d750026cca1e.tar.xz samba-5e115d43812021f9a16111fc7c05d750026cca1e.zip |
patch from Hal Roberts check for a valid [f]chmod_acl function pointer before calling it. Fixes seg fault in audit VFS module
-rw-r--r-- | source/modules/vfs_audit.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/source/modules/vfs_audit.c b/source/modules/vfs_audit.c index 92b78c1c32f..1944c98e531 100644 --- a/source/modules/vfs_audit.c +++ b/source/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, |