diff options
author | Jeremy Allison <jra@samba.org> | 2009-03-04 14:48:33 -0800 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2009-03-04 14:48:33 -0800 |
commit | f85aa66ca22f29734bdacaa559737990fbe28d8a (patch) | |
tree | b38eb987028585ccb28f7aa922becba4deb471c4 | |
parent | bb0fb975621f4962fb7e2438396d94818891151b (diff) | |
download | samba-f85aa66ca22f29734bdacaa559737990fbe28d8a.tar.gz samba-f85aa66ca22f29734bdacaa559737990fbe28d8a.tar.bz2 samba-f85aa66ca22f29734bdacaa559737990fbe28d8a.zip |
Fix crashes when running RAW-ACLs against system with tdb ACL modules
(caused by the POSIX pathname fixes).
Jeremy.
-rw-r--r-- | source3/modules/vfs_acl_tdb.c | 4 | ||||
-rw-r--r-- | source3/modules/vfs_acl_xattr.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/source3/modules/vfs_acl_tdb.c b/source3/modules/vfs_acl_tdb.c index 73dbca4809..a77f6d60f4 100644 --- a/source3/modules/vfs_acl_tdb.c +++ b/source3/modules/vfs_acl_tdb.c @@ -195,7 +195,7 @@ static NTSTATUS get_acl_blob(TALLOC_CTX *ctx, if (fsp && fsp->fh->fd != -1) { ret = SMB_VFS_FSTAT(fsp, &sbuf); } else { - if (fsp->posix_open) { + if (fsp && fsp->posix_open) { ret = SMB_VFS_LSTAT(handle->conn, name, &sbuf); } else { ret = SMB_VFS_STAT(handle->conn, name, &sbuf); @@ -513,7 +513,7 @@ static NTSTATUS inherit_new_acl(vfs_handle_struct *handle, if (fsp && !fsp->is_directory && fsp->fh->fd != -1) { ret = SMB_VFS_FSTAT(fsp, &sbuf); } else { - if (fsp->posix_open) { + if (fsp && fsp->posix_open) { ret = SMB_VFS_LSTAT(handle->conn,fname, &sbuf); } else { ret = SMB_VFS_STAT(handle->conn,fname, &sbuf); diff --git a/source3/modules/vfs_acl_xattr.c b/source3/modules/vfs_acl_xattr.c index 039e469426..49e4899879 100644 --- a/source3/modules/vfs_acl_xattr.c +++ b/source3/modules/vfs_acl_xattr.c @@ -381,7 +381,7 @@ static NTSTATUS inherit_new_acl(vfs_handle_struct *handle, if (fsp && !fsp->is_directory && fsp->fh->fd != -1) { ret = SMB_VFS_FSTAT(fsp, &sbuf); } else { - if (fsp->posix_open) { + if (fsp && fsp->posix_open) { ret = SMB_VFS_LSTAT(handle->conn,fname, &sbuf); } else { ret = SMB_VFS_STAT(handle->conn,fname, &sbuf); |