]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s4:ntvfs_generic: check for valid SMB2_LOCK flags
authorStefan Metzmacher <metze@samba.org>
Wed, 18 Nov 2009 07:11:46 +0000 (08:11 +0100)
committerStefan Metzmacher <metze@samba.org>
Wed, 18 Nov 2009 07:24:13 +0000 (08:24 +0100)
metze

source4/ntvfs/ntvfs_generic.c

index 6e2e075f1e2db3898a92682caff538c1e5f07e78..1d81acfd8112fee63f1ca7ae8137ce43b7868526 100644 (file)
@@ -1113,6 +1113,14 @@ NTSTATUS ntvfs_map_lock(struct ntvfs_module_context *ntvfs,
                        isunlock = false;
                }
                for (i=0;i<lck->smb2.in.lock_count;i++) {
+                       if (lck->smb2.in.locks[i].flags == SMB2_LOCK_FLAG_NONE) {
+                               return NT_STATUS_INVALID_PARAMETER;
+                       }
+
+                       if (lck->smb2.in.locks[i].flags & ~SMB2_LOCK_FLAG_ALL_MASK) {
+                               return NT_STATUS_INVALID_PARAMETER;
+                       }
+
                        if (isunlock && 
                            (lck->smb2.in.locks[i].flags & 
                             (SMB2_LOCK_FLAG_SHARED|SMB2_LOCK_FLAG_EXCLUSIVE))) {