s3:smb2_server: return BAD_NETWORK_NAME if the path is terminated in SMB2_TCON
[ddiss/samba.git] / source3 / smbd / smb2_tcon.c
index 08b5b1e97c6924b29d598e195427fb99bcf8844f..8644e56a1dde62b530c6a6ceee2f18d1e55fb651 100644 (file)
@@ -81,6 +81,14 @@ NTSTATUS smbd_smb2_request_process_tcon(struct smbd_smb2_request *req)
                return smbd_smb2_request_error(req, NT_STATUS_ILLEGAL_CHARACTER);
        }
 
+       if (in_path_buffer.length == 0) {
+               in_path_string_size = 0;
+       }
+
+       if (strlen(in_path_string) != in_path_string_size) {
+               return smbd_smb2_request_error(req, NT_STATUS_BAD_NETWORK_NAME);
+       }
+
        status = smbd_smb2_tree_connect(req, in_path_string,
                                        &out_share_type,
                                        &out_share_flags,