diff options
Diffstat (limited to 'src/mongo/db')
-rw-r--r-- | src/mongo/db/namespace_string-inl.h | 2 | ||||
-rw-r--r-- | src/mongo/db/namespace_string_test.cpp | 5 |
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")); |