summaryrefslogtreecommitdiff
path: root/src/mongo/db
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db')
-rw-r--r--src/mongo/db/namespace_string-inl.h2
-rw-r--r--src/mongo/db/namespace_string_test.cpp5
2 files changed, 6 insertions, 1 deletions
diff --git a/src/mongo/db/namespace_string-inl.h b/src/mongo/db/namespace_string-inl.h
index 569eddaeb57..0ff45fca39e 100644
--- a/src/mongo/db/namespace_string-inl.h
+++ b/src/mongo/db/namespace_string-inl.h
@@ -57,7 +57,7 @@ inline bool NamespaceString::virtualized(StringData ns) {
}
inline bool NamespaceString::validDBName(StringData db, DollarInDbNameBehavior behavior) {
- if (db.size() == 0 || db.size() > 64)
+ if (db.size() == 0 || db.size() >= 64)
return false;
for (StringData::const_iterator iter = db.begin(), end = db.end(); iter != end; ++iter) {
diff --git a/src/mongo/db/namespace_string_test.cpp b/src/mongo/db/namespace_string_test.cpp
index db44e5b3148..cd5e535d7ee 100644
--- a/src/mongo/db/namespace_string_test.cpp
+++ b/src/mongo/db/namespace_string_test.cpp
@@ -128,6 +128,11 @@ TEST(NamespaceStringTest, DatabaseValidNames) {
ASSERT(!NamespaceString::validDBName("foo?bar"));
#endif
+ ASSERT(NamespaceString::validDBName(
+ "ThisIsADatabaseNameThatBrokeAllRecordsForValidLengthForDBName63"));
+ ASSERT(!NamespaceString::validDBName(
+ "WhileThisDatabaseNameExceedsTheMaximumLengthForDatabaseNamesof63"));
+
ASSERT(NamespaceString::normal("asdads"));
ASSERT(!NamespaceString::normal("asda$ds"));
ASSERT(NamespaceString::normal("local.oplog.$main"));