diff options
author | Andrew Tridgell <tridge@samba.org> | 2008-05-22 17:53:50 +1000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2008-05-22 17:53:50 +1000 |
commit | 7a9ffeca21666935ba08cd909b63fc063f7607f7 (patch) | |
tree | 123452d12a5cf59d7a88c84b1e8a1d0aaa81578e | |
parent | fd7dc46f50d063a3bd4951e8b9bbc17b7632f0c5 (diff) | |
download | samba-7a9ffeca21666935ba08cd909b63fc063f7607f7.tar.gz samba-7a9ffeca21666935ba08cd909b63fc063f7607f7.tar.bz2 samba-7a9ffeca21666935ba08cd909b63fc063f7607f7.zip |
check for invalid file attribute values in create
(This used to be commit dd21e3d9d788a67d4673625ed4892a875f4600dc)
-rw-r--r-- | source4/ntvfs/posix/pvfs_open.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source4/ntvfs/posix/pvfs_open.c b/source4/ntvfs/posix/pvfs_open.c index 67937324cc..cc4f0add27 100644 --- a/source4/ntvfs/posix/pvfs_open.c +++ b/source4/ntvfs/posix/pvfs_open.c @@ -548,6 +548,10 @@ static NTSTATUS pvfs_create_file(struct pvfs_state *pvfs, uint32_t oplock_level = OPLOCK_NONE, oplock_granted; bool allow_level_II_oplock = false; + if (io->ntcreatex.in.file_attr & ~FILE_ATTRIBUTE_ALL_MASK) { + return NT_STATUS_INVALID_PARAMETER; + } + if ((io->ntcreatex.in.file_attr & FILE_ATTRIBUTE_READONLY) && (create_options & NTCREATEX_OPTIONS_DELETE_ON_CLOSE)) { return NT_STATUS_CANNOT_DELETE; |