diff options
author | David Storch <david.storch@10gen.com> | 2017-10-11 13:49:55 -0400 |
---|---|---|
committer | David Storch <david.storch@10gen.com> | 2017-10-27 11:18:45 -0400 |
commit | 44c83a821606db1c8b34b9c2a1ee2c485d3fff39 (patch) | |
tree | 0a6b591e0e8ffe1c42a5de3e4c85c0acaad4fa67 /src | |
parent | ff8486ce5750a1a6d80e9105bbd205cf2648a900 (diff) | |
download | mongo-44c83a821606db1c8b34b9c2a1ee2c485d3fff39.tar.gz |
SERVER-31516 Fix improper initialization of empty NamespaceString.
(cherry picked from commit e7390933e152d8e6f00c90ac341f691780c261fd)
Conflicts:
src/mongo/db/namespace_string_test.cpp
Diffstat (limited to 'src')
-rw-r--r-- | src/mongo/db/namespace_string-inl.h | 2 | ||||
-rw-r--r-- | src/mongo/db/namespace_string_test.cpp | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/mongo/db/namespace_string-inl.h b/src/mongo/db/namespace_string-inl.h index 8e8808fb9b8..7deeffc5bd4 100644 --- a/src/mongo/db/namespace_string-inl.h +++ b/src/mongo/db/namespace_string-inl.h @@ -112,7 +112,7 @@ inline bool NamespaceString::validCollectionName(StringData coll) { return true; } -inline NamespaceString::NamespaceString() : _ns(), _dotIndex(0) {} +inline NamespaceString::NamespaceString() : _ns(), _dotIndex(std::string::npos) {} inline NamespaceString::NamespaceString(StringData nsIn) { _ns = nsIn.toString(); // copy to our buffer _dotIndex = _ns.find('.'); diff --git a/src/mongo/db/namespace_string_test.cpp b/src/mongo/db/namespace_string_test.cpp index ba85cc775e3..2fd35bdd225 100644 --- a/src/mongo/db/namespace_string_test.cpp +++ b/src/mongo/db/namespace_string_test.cpp @@ -234,4 +234,17 @@ TEST(NamespaceStringTest, NamespaceStringParse4) { ASSERT_EQUALS((string) "abc", ns.db()); ASSERT_EQUALS((string) "", ns.coll()); } + + +TEST(NamespaceStringTest, EmptyNSStringReturnsEmptyColl) { + NamespaceString nss{}; + ASSERT_TRUE(nss.toString().empty()); + ASSERT_EQ(nss.coll(), StringData{}); +} + +TEST(NamespaceStringTest, EmptyNSStringReturnsEmptyDb) { + NamespaceString nss{}; + ASSERT_TRUE(nss.toString().empty()); + ASSERT_EQ(nss.db(), StringData{}); +} } |