diff options
author | Hannes Magnusson <bjori@php.net> | 2016-08-17 13:31:37 -0400 |
---|---|---|
committer | Kyle Suarez <kyle.suarez@mongodb.com> | 2016-08-17 13:37:49 -0400 |
commit | 0badd5ad405743848c74ca0011cb0bc76613cf77 (patch) | |
tree | cf05a7e7ca15ae842625e0a63a105c1f8e852c57 /src/mongo/db | |
parent | d25e46c8f1bbbebaca2d8ecba255c214b9200138 (diff) | |
download | mongo-0badd5ad405743848c74ca0011cb0bc76613cf77.tar.gz |
SERVER-25557 Database names must be less than 64 bytes
Closes #1108
Signed-off-by: Kyle Suarez <kyle.suarez@mongodb.com>
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")); |