s3:smb2_server: return OBJECT_NAME_INVALID if the path is terminated in SMB2_CREATE
authorStefan Metzmacher <metze@samba.org>
Tue, 6 Sep 2011 12:14:52 +0000 (14:14 +0200)
committerStefan Metzmacher <metze@samba.org>
Wed, 7 Sep 2011 08:38:08 +0000 (10:38 +0200)
metze

source3/smbd/smb2_create.c

index 2cdc8b55fe161943966049d678346ff4d02a3493..fad80a21c17a69083393cab83afecb9a7b6bf591 100644 (file)
@@ -212,6 +212,14 @@ NTSTATUS smbd_smb2_request_process_create(struct smbd_smb2_request *smb2req)
                return smbd_smb2_request_error(smb2req, NT_STATUS_ILLEGAL_CHARACTER);
        }
 
+       if (in_name_buffer.length == 0) {
+               in_name_string_size = 0;
+       }
+
+       if (strlen(in_name_string) != in_name_string_size) {
+               return smbd_smb2_request_error(smb2req, NT_STATUS_OBJECT_NAME_INVALID);
+       }
+
        ZERO_STRUCT(in_context_blobs);
        status = smb2_create_blob_parse(smb2req, in_context_buffer, &in_context_blobs);
        if (!NT_STATUS_IS_OK(status)) {